Как проверить внутренние массивы с помощью phpunit - PullRequest
4 голосов
/ 12 сентября 2010

Я должен проверить массив с внутренними массивами.

мой массив выглядит следующим образом.

$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
            )
    )

в этом случае мое требование состоит в том, чтобы определить, присутствуют ли ключи для внутреннего массива, используя assertArrayHasKey () утверждение phpunit. Я пытался сделать это так

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

}

но это не работает для меня. даже элемент управления не входит в цикл foreach ().

пожалуйста, предложите мне какое-нибудь решение для этого.

Ответы [ 3 ]

2 голосов
/ 12 сентября 2010
foreach ($testdata as $values) {
 //print_r($values);
  $this->assertArrayHasKey('idr', $values);
  $this->assertArrayHasKey('rel', $values);

}

эта часть в моем вопросе работает нормально. на самом деле я не получал сам массив в тестовом сценарии. так что это не происходит внутри foreach (). сейчас это решено. у меня была ошибка в передаче аргументов функции.

0 голосов
/ 18 августа 2016

Вы также можете использовать

assertArraySubset()

из: https://phpunit.de/manual/current/en/appendixes.assertions.html#appendixes.assertions.assertArraySubset

другое решение - сравнить массивы, а затем проверить, если true:

$arrays_are_equal = ($array1 == $array2); // or === if you want identical
$this->assertTrue($arrays_are_equal);
0 голосов
/ 12 сентября 2010

Я считаю, что этот контроль не идет внутри цикла foreach.

Удалить whole:

$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
            )
    )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...