Ещё более интересная тема, чем просто тесты. Проверка AV, выхода за границ массивов и прочих граничных условий. Да так, чтобы гарантировать ДЕТЕРМИНИРОВАННОСТЬ поведения. ExpectedException - из этой серии.
... to be continued ...
... to be continued ...
А что не так с ExpectedException?
ОтветитьУдалитьВ Delphi ичключения используются для control-flow, а значит вариант "Функция Х при аргументе Y должна генерировать исключение InvalidArgumentException" особо не отличается от "Функция Х при аргументе Y должна вернуть Z".
Другое дело если при арументе Y функция X генерирует AccessViolation, писать тест с `ExpectedException := EAccessViolation` лишено всякого смысла.
А я и не написал, что что-то не так. :-)
ОтветитьУдалитьПросто упомянул ExpectedException - как один из механизмов для построения анти-тестов.