我有以下代码:
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()
,则测试单元正常工作。它在数据库中创建一个新条目,最后删除它。一旦我取消注释该功能,测试单元就会在第二次运行时失败,因为它不会删除数据库中的条目。
你知道为什么会这样吗?