У меня есть метод, который создает большой многомерный массив. Я пытаюсь запустить серию модульных тестов этого метода. Я пытаюсь провести как положительные тесты (проверка установки определенных ключей массива), так и отрицательные тесты (проверка отсутствия определенных ключей массива). Проблема в том, что для настройки объекта требуется много кода, и существует множество различных аргументов, которые этот метод принимает и которые я хочу протестировать. По этим причинам я хочу использовать поставщиков данных для проведения серии тестов этого метода. Таким образом, я мог бы настроить объект один раз и использовать поставщика данных для получения аргументов массива и ожидаемых значений массива.
Я могу провести положительные тесты, вызвав $this- >assertArraySubset() и включение ожидаемой структуры массива в поставщик данных. Но я не могу придумать хороший способ проверить отсутствие определенных ключей массива (мой отрицательный тест), поскольку эти ключи массива находятся на разных уровнях массива.
Вот пример моего кода, чтобы вы могли видеть, с чем я имею дело:
Код: Выделить всё
Подробнее здесь: [url]https://stackoverflow.com/questions/50502367/how-can-i-test-that-a-key-does-not-exist-at-different-levels-of-a-multidimension[/url]