Как утверждать ошибки вместо исключения в phpunit? - PullRequest
0 голосов
/ 24 марта 2019

В моем модульном тесте я хочу поймать, если было выдано ArithmeticError , так же, как для исключения, использующего тег @expectedException.

К сожалению, похоже, что phpunit распознает только исключения, а не ошибки.

Кто-нибудь знает, как проверить ожидаемые ошибки, а не исключения?

1 Ответ

0 голосов
/ 26 марта 2019

Нашел решение. Использование error_reporting(2); в методе setCp TestCase гарантирует, что phpunit может конвертировать все ошибки в исключениях. Я пробовал разные уровни сообщений об ошибках, но работает только тот, который выше (см. уровни сообщений об ошибках ). В данном случае мне было просто:

class DivisionTest extends TestCase
{
  public function setUp() : void
  {
    $this->division = new Division;
    error_reporting(2);
  }

  /**
   * When divide by zero (x / 0) should throw an Error.
   * @expectedException DivisionByZeroError
   */
  public function testDivedByZeroThrowException()
  {
    // Act
    $result = $this->division->run(0, 5); // 5 : 0
  }
}

Теперь этот тест возвращает Успех !!! Для получения дополнительной информации посетите Проверка ошибок PHP .

...