我有一个phpunit的测试用例,但是当它运行报告时没有断言。 有明显的断言。它看起来与我的其他文件没什么不同。如果我添加删除测试但断言未运行,则报告的测试数量是准确的。什么是交易。
class DeferTest extends PHPUnit_Framework_Testcase
{
public function testNotRequiredNumberOfArgs()
{
$this->setExpectedException('DeferException');
$defer = null;
$defer = new Defer();
}
public function testRun()
{
$defer = new Defer($this, 'runTest', 1, 2, 3);
$this->assertEquals($defer->run(4, 5, 6), array(1, 2, 3, 4, 5, 6));
}
public function testClassNameRun()
{
$defer = new Defer('TestClass', 'run', 1, 2, 3);
$this->assertEquals($defer->run(4, 5, 6), array(1, 2, 3, 4, 5, 6));
}
public function runTest()
{
return func_get_args();
}
}
控制台输出
$ phpunit test/core/DeferTest.php
PHPUnit 3.7.21 by Sebastian Bergmann.
...
Time: 0 seconds, Memory: 5.50Mb
OK (3 tests, 0 assertions)
答案 0 :(得分:0)
感谢cyprian我通过在每种情况下断言为true并注释掉runTest方法,发现问题是runTest方法。看来我从phpunit测试用例中覆盖了一个方法。重命名方法解决了问题。