У меня есть этот шпион в тесте:
$subject->expects($this->once())->method('send_json_success')->with($expected);
Строго шпионить метод аргумент в PHPUnit
$expected
массив и один из элементов этого массива должен быть установлен в 0
.
Вместо этого в настоящее время устанавливается пустая строка, которая является источником проблемы, которую я исправляю. Я хочу убедиться, что тест завершился неудачно, когда элемент установлен на пустую строку, но я не могу найти, как сказать PHPUnit, чтобы строго проверить массив точно так же, как $expected
.
Я не могу использовать $this->same()
, потому что метод ничего не возвращает: мне нужно проверить, что метод вызывается с правильными аргументами.
Я не знаю, если это возможно с PHPUnit, но можно с Phake (тестирования PHP рамочным библиотеки) с помощью метода Параметр Matchers. проверьте его в документе [здесь] (http://phake.readthedocs.io/en/2.1/method-parameter-matchers.html?highlight=capture#parameter-capturing). Дайте мне знать – Matteo
Это звучит интересно @Matteo. Я посмотрю, смогу ли я получить какой-то ответ, который не требует добавления nth framework в мою библиотеку тестов :) В противном случае. Я попробую Фэйка. –
Конечно, @Andrea, можете ли вы опубликовать неудачный тест PHPUnit вашей проблемы, поэтому попроще решить проблему? – Matteo