0

我写了一个班级注册和测试。

$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(),但结果是一样的。

4

1 回答 1

0

尝试另一种方式。例如,按属性(您知道它们)查找模型并将其删除。

User::model()->deleteAllByAttributes(array(
    'email' => '1a1111@gmail.com',
));
于 2013-06-24T19:20:39.500 回答