PHPUnit - 命令行测试没有明显原因下线?

时间:2012-08-21 01:27:54

标签: php phpunit

通常,PHPUnit命令行运行器提供类似于以下内容的输出:

PHPUnit 3.6.12 by Sebastian Bergmann.

....

Time: 26 seconds, Memory: 10.00Mb

OK (4 tests, 84 assertions)

但是,在我的一项测试中,会发生以下情况:

PHPUnit 3.6.12 by Sebastian Bergmann.

.
...

Time: 26 seconds, Memory: 10.00Mb

OK (4 tests, 84 assertions)

它与其中一个灯具有关。如果我注释掉正确的夹具,这种奇怪之处就不会出现了。但是,我已经尝试删除fixture文件本身的代码的每一部分,但这仍然会发生。它与第一次测试无关。无论将哪个测试移动到测试文件的顶部,都会发生这种情况。所以它必须与夹具本身的模型有关。然而,作为罪魁祸首,我没有什么突出的。它实际上似乎并没有影响到测试,但无论如何这让我感到困扰。以前有人有任何建议吗?非常感谢!

1 个答案:

答案 0 :(得分:0)

第二次测试中的某些内容会输出回车符。我可以使用这个简单的文件重现您的输出:

<?php
class EchoTest extends PHPUnit_Framework_TestCase{

function test1(){ $this->assertEquals(3,1+2); }
function test2(){ echo "\n";$this->assertEquals(3,1+2); }
function test3(){ $this->assertEquals(8,3+5); }
function test4(){ $this->assertEquals(11,5+6); }
}

如果您没有看到任何明显的回声,并且您的测试包含在多个文件中,那么经典原因将是<?php之前或结束?>之后的空白行。