gpt4 book ai didi

phpunit 无法断言两个数组相等,但显示没有区别

转载 作者:可可西里 更新时间:2023-11-01 12:54:11 29 4
gpt4 key购买 nike

这是 phpunit 的内容:

1) Asgard\Entity\Tests\EntityTest::testToArray
Failed asserting that two arrays are equal.
--- Expected
+++ Actual
@@ @@
Array (
'id' => null
'title' => 'Test Title'
'content' => 'Test Content'
'published' => 2015-03-04T11:19:50+0000
'comments' => Array (
0 => Array (
'id' => null
'content' => 'foo'
'published' => 2015-03-04T11:19:50+0000
'another_property' => null
'news' => null
)
1 => Array (
'id' => null
'content' => 'bar'
'published' => 2015-03-04T11:19:50+0000
'another_property' => null
'news' => null
)
2 => Array (
'id' => null
'content' => 'baz'
'published' => 2015-03-04T11:19:50+0000
'another_property' => null
'news' => null
)
)
'another_property' => null
)

https://travis-ci.org/asgardphp/asgard/jobs/53029084

“预期”和“实际”之间没有区别。测试通常会通过,但有时会失败。

最佳答案

发现问题。元素的顺序不同。虽然输出没有显示它,但有点烦人。

我已将 assertEquals 替换为:

$this->assertTrue($this->similar_arrays($arr1, $arr2));

protected function similar_arrays($a, $b) {
if(is_array($a) && is_array($b)) {
if(count(array_diff(array_keys($a), array_keys($b))) > 0)
return false;

foreach($a as $k => $v) {
if(!$this->similar_arrays($v, $b[$k]))
return false;
}

return true;
}
else
return $a === $b;
}

关于phpunit 无法断言两个数组相等,但显示没有区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28865066/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com