在运行PHPUnit测试时,我希望能够转储输出,以便可以调试一两个东西。
我已经尝试了以下内容(类似于PHPUnit Manual示例);
class theTest extends PHPUnit_Framework_TestCase
{
/**
* @outputBuffering disabled
*/
public function testOutput() {
print_r("Hello World");
print "Ping";
echo "Pong";
$out = "Foo";
var_dump($out);
}
}
结果如下:
PHPUnit @package_version@ by Sebastian Bergmann.
.
Time: 0 seconds, Memory: 3.00Mb
OK (1 test, 0 assertions)
请注意,没有预期的输出。
截至2011年9月19日,我使用的是git版本的HEAD版本。
输出php -version
:
$ php -version
PHP 5.2.9 (cli) (built: Dec 8 2010 11:36:37)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans
我做错了什么吗,还是潜在的PHPUnit错误?
phpunit /path/to/tests/theTest.php
(如果上述类在文件中theTest.php
)。
ob_get_level()
返回1
。但是,这与以下代码矛盾:while (ob_get_level() > 0) { ob_end_flush(); }
哪个错误ob_end_clean(): failed to delete buffer. No buffer to delete.
。越来越好奇。
testOutput()
方法的代码在哪里?