Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Exception correctness

Boost , Boost.Test , Writing unit tests

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Любое неожиданное/необнаруженное исключение, выдвинутое в испытательном корпусе, будет перехвачено Постом. тестовая основа и приведет к прекращению тестового случая со статусом прибитым.

Example: Uncaught exception

Код

>>>>>>>>>>>>>>>>>2>2>2>2>2>2>2>>2>>2>>2>>>2>>2>>

Выход

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

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

Unit Test Framework предоставляет несколько утверждений для тестирования кода в отношении правильности исключений. Имеются следующие утверждения:

  • BOOST_<уровень>_NO_THROW проверяет, что никаких исключений из выражения,
  • BOOST_<уровень>_THROW проверки, что выражение вызывает исключение определенного типа
  • BOOST_<уровень>_EXCEPTION проверяет, что выражение вызывает исключение определенного типа, передает экземпляр исключения на основную функцию для дальнейшей проверки (например, интроспектирование)

Следующий пример показывает, как использовать эти инструменты для проверки правильного поведения API FileWordHistogram, в конструкторе и предварительных условиях функции члена.

Example: Exception correctness of an API

Код

>>>>>>>>>>>>>>>>>>2> > >> >> >> > > > > > > > > > >>>> > > > > > >> >>> >>>> >>>

Выход

>>>>>>>>>>>>>>>>>>>
[Note] Note

assert(...) может вызвать abort(): использование макросов выше не может быть подходящим для тестирования assert в переносном порядке.

Bibliographic references

Publications

Exceptions and Error Handling

Standard C++ Foundation


PrevUpHomeNext

Статья Exception correctness раздела Boost.Test Writing unit tests может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Writing unit tests ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-07-04 21:25:24/0.0068168640136719/0