Page 1 of 1
setup and teardown
Posted: Mon Nov 06, 2006 5:15 am
by kpraman
Code: Select all
<?php
class MembersTest extends PHPUnit_TestCase {
public function setUp()
{
mysql_connect(localhost,'root','');
mysql_select_db('tblname');
mysql_query("TRUNCATE members");
}
public function TearDown()
{
mysql_close();
}
$newinsertdata=new Members;
$query=mysql_query("INSERT INTO members SET memberTypeId='1', memberFName='testFname', memberLName='testLname', memberAddress='testAddress', memberCity='testCity', memberState='testState', memberZip='123456', memberCountry='India', memberPhone='1234567', memberEmail='test@testmail.com', memberFax='1234567890',enableFlag='true'");
$memberid_insertd=mysql_insert_id();
$resExpectedInsertd=array((string)$memberid_insertd,'1','testFname','testLname','testAddress','testCity','testState','123456','India','1234567','test@testmail.com','1234567890','true');
$query=mysql_query("SELECT * FROM members WHERE memberId=$memberid_insertd");
$resActualInsertd=mysql_fetch_row($query);
$this->assertEquals($resExpectedInsertd,$resActualInsertd, "COULD NOT INSERT DATA.");
?>
is not working.
Posted: Mon Nov 06, 2006 5:52 am
by Maugrim_The_Reaper
Does it return an error? Have you tried this outside the test environment with a mysql client?
Posted: Mon Nov 06, 2006 8:07 am
by kpraman
When used directly truncate is working. i.e(values are deleted in the database) If used in setUp(), its not working
WORKS
Code: Select all
<?php
public function setUp()
{
mysql_connect(localhost,'root','');
mysql_select_db('tblname');
// mysql_query("TRUNCATE members");
}
$newinsertdata=new Members;
$query=mysql_query("INSERT INTO members SET memberTypeId='1', memberFName='testFname', memberLName='testLname', memberAddress='testAddress', memberCity='testCity', memberState='testState', memberZip='123456', memberCountry='India', memberPhone='1234567', memberEmail='test@testmail.com', memberFax='1234567890',enableFlag='true'");
$memberid_insertd=mysql_insert_id(); $resExpectedInsertd=array((string)$memberid_insertd,'1','testFname','testLname','testAddress','testCity','testState','123456','India','1234567','test@testmail.com','1234567890','true');
$query=mysql_query("SELECT * FROM members WHERE memberId=$memberid_insertd");
$resActualInsertd=mysql_fetch_row($query);
$this->assertEquals($resExpectedInsertd,$resActualInsertd, "COULD NOT INSERT DATA.");
mysql_query("TRUNCATE members");
?>
NOT WORKING
Code: Select all
<?php
public function setUp()
{
mysql_connect(localhost,'root','');
mysql_select_db('tblname');
mysql_query("TRUNCATE members");
}
$newinsertdata=new Members;
$query=mysql_query("INSERT INTO members SET memberTypeId='1', memberFName='testFname', memberLName='testLname', memberAddress='testAddress', memberCity='testCity', memberState='testState', memberZip='123456', memberCountry='India', memberPhone='1234567', memberEmail='test@testmail.com', memberFax='1234567890',enableFlag='true'");
$memberid_insertd=mysql_insert_id(); $resExpectedInsertd=array((string)$memberid_insertd,'1','testFname','testLname','testAddress','testCity','testState','123456','India','1234567','test@testmail.com','1234567890','true');
$query=mysql_query("SELECT * FROM members WHERE memberId=$memberid_insertd");
$resActualInsertd=mysql_fetch_row($query);
$this->assertEquals($resExpectedInsertd,$resActualInsertd, "COULD NOT INSERT DATA.");
//mysql_query("TRUNCATE members");
?>
Posted: Mon Nov 06, 2006 10:30 am
by Maugrim_The_Reaper
Not certain to be honest.
Shouldn't the truncation occur in tearDown? After data has been inserted, tests performed, and before you pass off to the next test. i.e. ensure a clean slate exists after running the test?
Posted: Mon Nov 06, 2006 11:23 pm
by kpraman
Thanks.
I wrote mysql_query("TRUNCATE members"); in TearDown(). It's working fine.