PHPUnit tearDownAfterClass()似乎无法正常工作

时间:2013-07-02 13:38:32

标签: php testing phpunit

我有以下代码:

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

你知道为什么会这样吗?

0 个答案:

没有答案