[development] Simpletest question

David Thibault dthibault at esperion.com
Tue Jan 26 15:18:39 UTC 2010


Is there a way to figure out the table prefix that Simpletest generates at runtime?  I am trying to run a test that does a bunch of inserts, then I need to figure out how many rows were created in the table.  However, I can't query the table because simpletest changes the name of it every time.  Also, I tried {table_name} instead of table_name in the query but it didn't work (line numbers inserted below to help with reading the error message later):

21 public function test_sync () {
22    require_once(drupal_get_path('module','compoundmanagement').'/compoundmanagement.inc');
23    $result = db_query('select count(objdid) as count from {cpd_compounds}');
24    $row = $result->db_fetch_object($result);
25    $this->pass('There are '.$row->count.' compounds in cpd_compounds');
26    $this->drupalGet('sync_cpds',array('absolute' => TRUE));
27    $result = db_query('select count(objdid) as count from {cpd_compounds}');
28    $row = $result->db_fetch_object($result);
29    $this->pass('There are now '.$row->count.' compounds in cpd_compounds');
30    $this->assertEqual($row->count,1313,"CPD_COMPOUNDS should have 1313 rows.");
31 }

The test above threw this error:

An error occurred.
<br />
<b>Fatal error</b>: Call to a member function db_fetch_object() on a non-object in <b>C:\wamp\www\drupal\sites\all\modules\compoundmanagement\compoundmanagement.test</b> on line <b>24</b><br />

Any ideas what to do here?  I have been developing in Drupal for a while now but am just now discovering the unit testing available in SimpleTest.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.drupal.org/pipermail/development/attachments/20100126/3fac2665/attachment.html 

More information about the development mailing list