没有断言phpunit但有

时间:2013-06-12 18:57:07

标签: php phpunit

我有一个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)

1 个答案:

答案 0 :(得分:0)

感谢cyprian我通过在每种情况下断言为true并注释掉runTest方法,发现问题是runTest方法。看来我从phpunit测试用例中覆盖了一个方法。重命名方法解决了问题。