0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Основные тесты, которые нужно писать, это тесты на успешные сценарии работы. Но в некоторых ситуациях код должен возвращать ошибки и их тоже бывает нужно проверять. Под ошибками понимаются ситуации, в которых код выбрасывает исключение. В чём их особенность? Посмотрите на тест:</p>
1
<p>Основные тесты, которые нужно писать, это тесты на успешные сценарии работы. Но в некоторых ситуациях код должен возвращать ошибки и их тоже бывает нужно проверять. Под ошибками понимаются ситуации, в которых код выбрасывает исключение. В чём их особенность? Посмотрите на тест:</p>
2
<p>Этот код пытается протестировать ситуацию, при которой функция functionWithException() выбрасывает исключение, если ей передать 0. Как вы думаете, этот тест проверит, что функция действительно порождает исключение? Правильный ответ - нет. Если функция functionWithException() не выбросит исключение, то тест пройдёт, так как код не попадёт в блок catch.</p>
2
<p>Этот код пытается протестировать ситуацию, при которой функция functionWithException() выбрасывает исключение, если ей передать 0. Как вы думаете, этот тест проверит, что функция действительно порождает исключение? Правильный ответ - нет. Если функция functionWithException() не выбросит исключение, то тест пройдёт, так как код не попадёт в блок catch.</p>
3
<p>В PHPUnit есть утверждение, которое самостоятельно отлавливает исключение и проверяет, что оно вообще было сгенерировано.</p>
3
<p>В PHPUnit есть утверждение, которое самостоятельно отлавливает исключение и проверяет, что оно вообще было сгенерировано.</p>
4
<p>В дополнение к методу expectException() существуют методы expectExceptionCode(), expectExceptionMessage() и expectExceptionMessageMatches() для более точечного анализа перехваченного исключения.</p>
4
<p>В дополнение к методу expectException() существуют методы expectExceptionCode(), expectExceptionMessage() и expectExceptionMessageMatches() для более точечного анализа перехваченного исключения.</p>
5
<h2>Рекомендуемые программы</h2>
5
<h2>Рекомендуемые программы</h2>