All,
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.
/batch?id=18&op=do
<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.
Best,
Dave