PHPUnit:如何检查数组是否具有特定属性的对象?

时间:2012-01-28 00:00:20

标签: phpunit

假设我们有以下数组$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'
  )),
)

如果此数组包含名称为AnObject的{​​{1}},则应传递断言。

我知道如果我知道'bar'值的位置,我可以使用:

AnObject

是否有某种方法可以使用$this->assertAttributeSame('bar', 'name', $myArray[1]); 或其他类型的包来检查整个数组并返回true,其中一个对象具有匹配的属性?

1 个答案:

答案 0 :(得分:3)

没有这样的内置断言,我想不出任何可能将它们组合起来得到预期的结果。

我建议你 - 创建一个接受数组并在循环中进行必要检查的辅助方法。

其他解决办法就是为这个案例创建一个全新的断言,但我认为这对于这个任务来说太过分了; - )

相关问题