行显示为未执行

时间:2012-08-13 19:31:40

标签: php phpunit

我有这段代码:

public function checkKeyConstraint($key) {
    if ($this->hasKey($key)) {
        throw new Exception('Key already exists '.$key);
    }

    return $this;
}

此外,我有两个带有数据提供程序的PHPUnit测试方法,一个用于现有密钥,另一个用于不存在。 问题是代码覆盖率工具显示作为未执行。

PHP_CodeCoverage 1.1.3,PHPUnit 3.6.12,PHP 5.4.4,xdebug 2.2.1-5.4-vc9

UPD:测试方法和数据提供者

throw new Exceptions('Key already exists '.$key);

1 个答案:

答案 0 :(得分:0)

我是个白痴。问题是在这个testCheckKeyConstraintExistent方法中我检查整个对象,而不是它的关键。它应该改写为:

public function testCheckKeyConstraintExistent(Key $key) {
    $this->assertEquals(self::$object, self::$object->checkKeyConstraint($key->_id()));
    $this->fail();
}