如何让PHPUnit打印失败测试用例的完整输入?
PHPUnit似乎通过序列化预期值和实际值并显示它们之间的差异来打印失败的测试用例。此外,序列化使用省略号截断值,隐藏我想要的信息 以下是PHPUnit产生的输出示例:如何让PHPUnit打印失败测试用例的完整输入?,php,phpunit,Php,Phpunit,PHPUnit似乎通过序列化预期值和实际值并显示它们之间的差异来打印失败的测试用例。此外,序列化使用省略号截断值,隐藏我想要的信息 以下是PHPUnit产生的输出示例: /Foo/Bar/Baz.php:31 8) Foo\Bar\Baz::test with data set #7 ('foo,bar,baz,qux', array(array('foo', 'bar'), array('baz', 'qux'))) Failed asserting that two arrays are
/Foo/Bar/Baz.php:31
8) Foo\Bar\Baz::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 (...)
)
我希望看到完整的预期值和完整的实际值。我还希望它扩展那些被省略的值。我如何让它做到这一点?根据这个问题:,它看起来像是一个XDebug问题
在源代码中,isEquals重定向到此:,并且没有任何形式的“缩短”
您可以使用
php-d xdebug.overload\u var\u dump=0/usr/bin/phpunit testCase.php
或phpunit-d xdebug.overload\u var\u dump=0 testCase.php
覆盖xdebug设置,当断言通过传递附加参数失败时,您可以打印任何想要的内容
$this->assertEquals($a,$b,print_r($a,true)." does not equal ".print_r($b,true));