PHPUnit परीक्षण चलाते समय, मैं आउटपुट को डंप करने में सक्षम होना चाहूंगा ताकि मैं एक या दो चीजों को डिबग कर सकूं।
मैंने निम्नलिखित कोशिश की है ( PHPUnit मैनुअल उदाहरण के समान );
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)
ध्यान दें कि अपेक्षित आउटपुट नहीं है।
मैं सितंबर 19, 2011 तक 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()
विधि को कॉल करने वाला कोड कहां है ?