все ... моя тема говорит само за себя. Я пытаюсь сделать тест, который на самом деле преднамеренно заставляет"Неверный аргумент, предоставленный для foreach ()", произойти. Я пытаюсь заставить PHPUnit ожидать этого, но ... Нет, мои тесты все еще падают. Причина: «неверный аргумент передан для foreach ()» прямо в тот момент, когда я говорю ему , что это произойдет.
В верхней части моего файла у меня есть:
use PHPUnit\Framework\TestCase;
use PHPUnit\Framework\Error\Error;
use PHPUnit\Framework\Error\Notice;
use PHPUnit\Framework\Error\Warning;
Объявление моего класса начинается с:
Class flirzelkwerpTest extends TestCase {
Вот строки в тестовом файле:
// Let's try to add nothing.
// (It should throw an error because of "Invalid argument supplied for foreach()" in barabajagal.php.)
$this->expectException(\InvalidArgumentException::class);
$this->expectExceptionMessage('Invalid argument supplied for foreach()');
$resp = $barabajagal->add();
Ошибка возникает в этой последней строке. Если предыдущие две строки не говорили PHPUnit: «Эй, буб, я ожидаю, что здесь будет ошибка, и это сообщение, которое вы должны получить дословно» ??
Мы используем PHP 7.3.4 и PHPUnit 8.3.2.