Как правильно проверить массив? Нужно ли проверять значения элементов массива?

Добрый день,

интересует вопрос (лучшие практики) как правильно проверить массив данных?

В респонзе приходит массив с данными вида:

$response = [
    'data' => [
        'customer' => [
            'firstname'  => 'FirstName',
            'lastname'  => 'LastName'
        ],
        'addresses' => [
            'address_1' => 'Test Address 1',
            'address_2' => 'Test Address 2',
            'address_3' => 'Test Address 3'
        ]
    ]
];

Вопрос: Нужно ли проверять значения элементов массива используя assertEquals(), или же ограничиться assertArrayHasKey() и assertNotEmpty() ?

Вопрос, а на более верхнем уровне что нужно сделать? Отсюда и плясать что и как обрабатывать в массиве.

Идите сверху вниз.
Сначала сделайте проверку 200 статуса ответа для всех методов.
Потом то, что приходит JSON.
Потом структуру assertArrayHasKey.
Потом типы данных в значениях ключей.
Потом соответствие значений регуляркам (для имени условвные /[a-zA-Z]{30}/).
И последним этапом проверку значений ключей ожидаемым значениям.

1 лайк

На более верхнем уровне - что имеется в виду? Вообще задача (на разработку) состояла в том, что в респонз добавляются еще несколько ключей (addresses)… Собственно вопрос: необходимо ли проверять данные (адреса)??? Или же просто проверить в тесте что ключ “addresses” есть и он не пустой?

Тут надо смотреть есть ли выше (юнит тесты) или ниже (юай, фанкшинал) тесты которые проверяют значения, которые передаются в эти поля, если есть, то не надо дублировать. Если нет, то конечно надо проверять что значения соответствуют ожидаемым.