1

我有以下代码:

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()被评论,测试单元可以正常工作。它在数据库中创建一个新条目,最后将其删除。一旦我取消注释该函数,测试单元在第二次运行时失败,因为它没有删除数据库中的条目。

你知道为什么会这样吗?

4

0 回答 0