![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Master Test SuiteBoost , Boost.Test , Test suite
|
Код |
---|
<#include<boost/test/included/unit_test.hpp> usingnamespaceboost::unit_test; voidfree_test_function() { BOOST_TEST(true/* test assertion */); } test_suite*init_unit_test_suite(int/*argc*/,char*/*argv*/[]) { if(framework::master_test_suite().argc>1) return0; framework::master_test_suite(). add(BOOST_TEST_CASE(&free_test_function)); return0; }> |
выход |
---|
<>example1 Testsetuperror:testtreeisempty> |
Мастер-тест создается с именем по умолчанию.Магистерский набор. Существует два способа сброса имени на другое значение: с помощью макроса<BOOST_TEST_MODULE
>и из функции инициализации тестового модуля. Прежний используется для тестовых модулей, которые не имеют вручную реализованной функции инициализации. Следующие примеры иллюстрируют эти методы.
BOOST_TEST_MODULE
Код |
---|
<#defineBOOST_TEST_MODULEmymastertestsuitename #include<boost/test/included/unit_test.hpp> BOOST_AUTO_TEST_CASE(free_test_function) { BOOST_TEST(true/* test assertion */); }> |
выход |
---|
<>example--log_level=test_suite Running1testcase... Enteringtestsuite"my master test suite name" Enteringtestcase"free_test_function" Leavingtestcase"free_test_function";testingtime:1ms Leavingtestsuite"my master test suite name" ***Noerrorsdetected> |
Если макро<BOOST_TEST_MODULE
>определено, функция инициализации тестового модуляавтоматически генерируется, и макро значение становится именем основного набора тестов. Название может включать пробелы.
Код |
---|
<#include<boost/test/included/unit_test.hpp> usingnamespaceboost::unit_test; BOOST_AUTO_TEST_CASE(free_test_function) { BOOST_TEST(true/* test assertion */); } test_suite*init_unit_test_suite(int/*argc*/,char*/*argv*/[]) { framework::master_test_suite().p_name.value="my master test suite name"; return0; }> |
выход |
---|
<>example--log_level=test_suite Running1testcase... Enteringtestsuite"my master test suite name" Enteringtestcase"free_test_function" Leavingtestcase"free_test_function";testingtime:1ms Leavingtestsuite"my master test suite name" ***Noerrorsdetected> |
Без флагов<BOOST_TEST_MAIN
>и<BOOST_TEST_MODULE
>функция инициализации испытательного модуля должна быть реализована вручную. Имя главного тестового набора может быть сброшено в любой точке этой функции.
Статья Master Test Suite раздела Boost.Test Test suite может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Test suite ::
реклама |