我如何让Phpunit打印出失败的测试用例的完整输入



phpunit似乎通过序列化预期和实际值并显示它们之间的差异来打印失败的测试用例。另外,序列化用椭圆截断值,隐藏了我想要的信息。

这是Phpunit产生的输出的一个示例:

/Foo/Bar/Baz.php:31
8) FooBarBaz::test with data set #7 ('foo,bar,baz,qux', array(array('foo', 'bar'), array('baz', 'qux')))
Failed asserting that two arrays are equal.
--- Expected
+++ Actual
@@ @@
 Array (
-    0 => Array (...)
-    1 => Array (...)
+    'j' => 16
+    'args' => Array (...)
 )

我想查看完整的期望值和完整的实际值。我还希望它扩展那些...省略的值。我该如何做到这一点?

通过传递其他参数失败时,您可以打印任何您想要的任何内容。

$this->assertEquals($a,$b,print_r($a,true)." does not equal ".print_r($b,true));

根据此问题:https://github.com/sebastianbergmann/phpunit/sissues/669,它看起来像是Xdebug问题。

在源代码中,与此重定向。P>

您可以使用php -d xdebug.overload_var_dump=0 /usr/bin/phpunit testCase.phpphpunit -d xdebug.overload_var_dump=0 testCase.php进行测试以覆盖Xdebug设置

最新更新