假设我们有以下数组$myArray要根据 var_export 检查:
array (
0 => AnObject::__set_state(array(
'id' => 10,
'name' => 'foo'
)),
1 => AnObject::__set_state(array(
'id' => 23,
'name' => 'bar'
)),
2 => AnObject::__set_state(array(
'id' => 55,
'name' => 'baz'
)),
)
Run Code Online (Sandbox Code Playgroud)
AnObject如果该数组包含名称为 的 ,则断言应该通过'bar'。
我知道如果我知道该AnObject值的位置,我可以使用:
$this->assertAttributeSame('bar', 'name', $myArray[1]);
Run Code Online (Sandbox Code Playgroud)
是否有某种方法可以使用$this->assertThat()或另一种类型的 contains 来检查整个数组并返回 true ,其中一个对象具有匹配的属性?
没有这样的内置断言,我无法想到将它们结合起来以获得预期结果的任何可能性。
我建议您创建一个辅助方法,该方法接受数组并在循环中进行必要的检查。
其他解决方案是仅针对这种情况创建全新的断言,但我认为这对于此任务来说是一种矫枉过正;-)
| 归档时间: |
|
| 查看次数: |
4402 次 |
| 最近记录: |