1
我有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)
不知道这是造成你的问题,但它是不是一个好主意,做'setExpectedException(“例外”)'。失败的测试通过抛出'FailedTestException'来标记。您应该扩展'Exception'类,并期望反而取而代之。 – Schleis
你如何运行你的测试?什么是控制台输出? – Cyprian
其实是'@ expectedException'或'$这个 - > setExpectedException()'应被使用,所以它的正确 – zerkms