Вступить в клуб →
средняявопросТестирование: PHPUnit и feature-тесты

Тест исключения при оплате отменённого заказа никогда не проверяет исключение

public function testCannotPayCancelledOrder(): void
{
    $order = OrderMother::cancelled();
    $order->pay('pay_1');
    $this->expectException(DomainException::class);
}

Тест падает с DomainException, хотя именно это исключение и ожидалось. Как исправить?

  • Вызвать expectException до кода, который бросает исключение
  • Обернуть pay() в try/catch и ничего не проверять
  • Заменить DomainException на Exception
  • Добавить аннотацию @throws к тесту

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела