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 repos 의 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()
메소드 를 호출하는 코드는 어디에 있습니까 ?