如何使用 phpunit 测试内部数组

sid*_*tha 7 phpunit

我必须用内部数组测试一个数组。

我的数组如下所示。

$testdata=Array
    (
        [0] => Array
            (
                [label] => 'Ammy'
                [idr] => 'user7'
                [rel] => 7
            )

        [1] => Array
            (
                [label] => 'sidh'
                [idr] => user8
                [rel] => 8
            )

        [2] => Array
            (
                [label] => 'Alan'
                [idr] => 'user9'
                [rel] => 9
            )
    )
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我的要求是使用 phpunit 的 assertArrayHasKey() 断言来断言内部数组的键是否存在。我试着这样做

foreach ($testdata as $values) {
 //print_r($values);
  $this->assertArrayHasKey('idr', $values);
  $this->assertArrayHasKey('rel', $values);

}
Run Code Online (Sandbox Code Playgroud)

但这对我不起作用。甚至控件也不会进入 foreach() 循环。

请为此建议我一些解决方案。

sid*_*tha 5

foreach ($testdata as $values) {
 //print_r($values);
  $this->assertArrayHasKey('idr', $values);
  $this->assertArrayHasKey('rel', $values);

}
Run Code Online (Sandbox Code Playgroud)

我的问题中的这一部分效果很好。实际上我在测试场景中没有得到数组本身。所以它不会进入 foreach() 内部。现在问题解决了。我在将参数传递给函数时犯了一个错误。