![]() |
![]() ![]() ![]() ![]() |
![]() |
Exception correctnessBoost , Boost.Test , Writing unit tests
|
|||||||||||||||||
|
Код |
|---|
| >>>>>>>>>>>>>>>>>2>2>2>2>2>2>2>>2>>2>>2>>>2>>2>> |
|
Выход |
|---|
| >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
Часто требуется больший контроль над корректностью исключений, например, чтобы проверить, что выражение вызывает определенное исключение, намеренно.
Unit Test Framework предоставляет несколько утверждений для тестирования кода в отношении правильности исключений. Имеются следующие утверждения:
BOOST_<уровень>_NO_THROW проверяет, что никаких исключений из выражения,BOOST_<уровень>_THROW проверки, что выражение вызывает исключение определенного типаBOOST_<уровень>_EXCEPTION проверяет, что выражение вызывает исключение определенного типа, передает экземпляр исключения на основную функцию для дальнейшей проверки (например, интроспектирование)Следующий пример показывает, как использовать эти инструменты для проверки правильного поведения API FileWordHistogram, в конструкторе и предварительных условиях функции члена.
|
Код |
|---|
| >>>>>>>>>>>>>>>>>>2> > >> >> >> > > > > > > > > > >>>> > > > > > >> >>> >>>> >>> |
|
Выход |
|---|
| >>>>>>>>>>>>>>>>>>> |
![]() |
Note |
|---|---|
|
Publications
Standard C++ Foundation
Статья Exception correctness раздела Boost.Test Writing unit tests может быть полезна для разработчиков на c++ и boost.
:: Главная :: Writing unit tests ::
реклама |