【发布时间】:2013-06-19 15:41:18
【问题描述】:
我为它写了一个类注册和测试。
$this->open('/');
if($this->isTextPresent('logout'))
$this->clickAndWait('link=logout');
$this->clickAndWait('link=reg');
$this->assertElementPresent('id=user-reg-form');
$this->type('name=User[login]','root111');
$this->click("//input[@value='Submit']");
$this->isTextPresent('cannot be blank.');
$this->type('name=User[pswd]','ll111');
$this->click("//input[@value='Submit']");
$this->isTextPresent('cannot be blank.');
$this->type('name=User[email]','1a1111@gmail.com');
$this->click("//input[@value='Submit']");
$this->waitForTextPresent('logout');
$this->clickAndWait('link=logout');
$this->waitForTextPresent('reg');
$this->clickAndWait('link=reg');
并在 WebTestCase.php 中设置 tearDown() 以删除新记录。
//delete test user record
$exe = Yii::app()->db->createCommand();
$exe->delete('{{user}}', 'id > :id', array(':id'=>5));
$exe->execute();
根据需要执行测试,但不会删除记录。为什么?如何修复此错误?我尝试使用 terDownAfterClass(),但结果是一样的。
【问题讨论】:
-
请注意,根据API
delete()创建并执行删除SQL语句,所以$exe->execute()是不必要的。 -
没有
$exe->execute()也不行。( -
请验证
tearDown方法是否实际执行。如果它没有被执行,你不需要怀疑。如果已执行,请验证该删除命令是否确实有效。
标签: testing yii phpunit selenium-rc