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

fixture (decorator)

Boost , Boost.Test , Tests declaration and organization

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
fixture(const boost::function<void()>& setup, const boost::function<void()>& teardown = {});
template <typename Fx>
  fixture<Fx>();
template <typename Fx, typename Arg>
  fixture<Fx>(const Arg& arg);

Декоратор<fixture>указывает пару функций (например,<set_up>и<tear_down>), которые должны вызываться до и после соответствующего тестового блока. На уровне сюит функция<set_up>называется один раз — до начала исполнения сюиты и<tear_down>функция называется один раз — после окончания исполнения сюиты. Он приходит в трех формах. Во-первых, ожидаются две функции настройки и срыва (вторую можно пропустить). Вторым будет класс<DefaultConstructible>. Конструктор по умолчанию будет использоваться в качестве функции настройки, а его деструктор — в качестве функции срыва. Третьим необходим класс с одноаргументным общественным конструктором. Аргумент<arg>направляется конструктору, и это функция установки, её деструктор — функция срыва. Невозможно получить доступ к элементам этих приспособлений из тестового корпуса или набора тестов.

Example: decorator fixture

Код

<
#defineBOOST_TEST_MODULEdecorator_12
#include<boost/test/included/unit_test.hpp>
namespaceutf=boost::unit_test;
structFx
{
 std::strings;
 Fx(std::strings=""):s(s)
       {BOOST_TEST_MESSAGE("set up "<<s);}
 ~Fx(){BOOST_TEST_MESSAGE("tear down "<<s);}
};
voidsetup(){BOOST_TEST_MESSAGE("set up fun");}
voidteardown(){BOOST_TEST_MESSAGE("tear down fun");}
BOOST_AUTO_TEST_SUITE(suite1,
 *utf::fixture<Fx>(std::string("FX"))
 *utf::fixture<Fx>(std::string("FX2")))
 BOOST_AUTO_TEST_CASE(test1,*utf::fixture(&setup,&teardown))
 {
   BOOST_TEST_MESSAGE("running test1");
   BOOST_TEST(true);
 }
 BOOST_AUTO_TEST_CASE(test2)
 {
   BOOST_TEST_MESSAGE("running test2");
   BOOST_TEST(true);
 }
BOOST_AUTO_TEST_SUITE_END()
>

выход

<
>decorator_12--log_level=message
Running2testcases...
setupFX
setupFX2
setupfun
runningtest1
teardownfun
runningtest2
teardownFX2
teardownFX
***Noerrorsdetected
>

О других способах использования светильников см.здесь.


PrevUpHomeNext

Статья fixture (decorator) раздела Boost.Test Tests declaration and organization может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Tests declaration and organization ::


реклама


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

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