HTML Diff
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>