我有以下代码:
class ProfileTest extends PHPUnit_Framework_TestCase
{
protected static $nLastProfileId;
public static function setUpBeforeClass()
{
self::$nLastProfileId = 0;
}
public function testCreateProfile()
{
self::$nLastProfileId = profile_create("TestProfileCreation123");
$this->assertGreaterThanOrEqual(1, self::$nLastProfileId);
}
/**
* @expectedException PDOException
*/
public function testThatThereCanNotBeTwoProfilesWithTheSameName()
{
profile_create("TestProfileCreation123");
}
public static function tearDownAfterClass()
{
profile_delete(self::$nLastProfileId);
}
}
profile_create
将配置文件添加到数据库并profile_delete
根据其 ID 从数据库中删除该配置文件。两个配置文件不能具有相同的名称。
我遇到的问题是,如果testThatThereCanNotBeTwoProfilesWithTheSameName()
被评论,测试单元可以正常工作。它在数据库中创建一个新条目,最后将其删除。一旦我取消注释该函数,测试单元在第二次运行时失败,因为它没有删除数据库中的条目。
你知道为什么会这样吗?