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

list_content

Boost , Boost.Test , Runtime parameters reference

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

Названия тестовых блоков, содержащихся в испытательном модулеи выходах (испытания не проводятся).

Этот параметр командной строки принимаетнеобязательноезначение строки, указывающее формат вывода. Рамки поддерживают следующие два формата:

  1. Человеческий формат,
  2. Графический формат. Этот формат может быть автоматически разрезан или визуализирован.
HRF

Для HRFтестовое дерево(тестовые наборы и тестовые случаи) представлено в форме дерева с каждым названием тестового блока на отдельной линии с горизонтальным углублением по отношению к родительскому тестовому набору. Кроме того, тестовые блоки, которые включены по умолчанию, имеют звездочку<*>рядом с названием тестового блока. Например, следующий вывод:

testsuite1*
    testcase1*
    testcase2
testsuite2*
    testcase3*

Представляет собой тестовый модуль, состоящий из двух тестовых наборов:<testsuite1>и<testsuite2>и трех тестовых корпусов:<testcase1>,<testcase2>и<testcase3>. Форматирование отражает тест-дерево: первые два тест-кейса принадлежат первому тестовому набору, а последний принадлежит второму. Из трех тестовых случаев только два включены по умолчанию:<testcase1>и<testcase3>.<testcase2>не включен по умолчанию, но может быть включен с помощью параметра<run_test>.

DOT

DOT-выход генерирует график, представляющий тест-дерево модуляв форматеточек. Этот вывод включает в себя гораздо больше информации о тест-дереве, включая этикетки, тайм-ауты, ожидаемые сбои и зависимости.

Легенда выглядит следующим образом:

  • Мастер тестовый набор представлен в виде эллипса
  • испытательный блок (комната, корпус) находится в закругленном прямоугольнике
  • Местонахождение блока испытаний,метки,ожидаемые сбои,тайм-аутыприлагаются,
  • зеленая коробка указывает, что испытательный блок включен, в противном случае его цвет желтый;
  • простая черная стрела идет от испытательного блока к каждому из его детей, следуя тестовому дереву (стрела, указывающая на ребенка),
  • Пробитая красная стрелка указывает на зависимость времени выполнения от тестовых блоков, стрелка указывает на родителя в графе зависимости.
Acceptable values

Перечислениеимен:

  • HRF(по умолчанию)
  • ДОТ
Command line syntax
  • <--list_content[=<format>]>
Environment variable
BOOST_TEST_LIST_CONTENT
Example

Следующийнамеренносложный пример иллюстрирует цель директивы<--list_content>. SVG, созданный из созданного файла Graphviz/dot, можно загрузитьздесь.

Example: --list_content illustration

Код

<
#defineBOOST_TEST_MODULElist_content
#include<boost/test/included/unit_test.hpp>
namespaceutf=boost::unit_test;
//// --------------------------------------------------------------------------
// Test suite 1, disabled by default, s1/test2 is explicitely enabled.
BOOST_AUTO_TEST_SUITE(s1,
*utf::disabled()                       // suite is not disabled because of the
*utf::description("disabled suite 1") // extra declaration at the end of the file
*utf::label("label1")
*utf::label("label2"))
BOOST_AUTO_TEST_CASE(test1,// s1/test1
*utf::enabled()*utf::description("enabled"))
{
   BOOST_TEST(true);
}
BOOST_AUTO_TEST_CASE(test2,// s1/test2
*utf::description("defaulted")*utf::expected_failures(1))
{
   BOOST_TEST(false);
}
BOOST_AUTO_TEST_CASE(test3,// s1/test3
*utf::description("defaulted"))
{
   BOOST_TEST(false);
}
BOOST_AUTO_TEST_SUITE_END()
//// --------------------------------------------------------------------------
// Test suite 2, disabled by default, s1/test2 is explicitely enabled.
BOOST_AUTO_TEST_SUITE(s2,
*utf::disabled()
*utf::label("label1")
*utf::expected_failures(3))
BOOST_AUTO_TEST_CASE(test1,// s2/test1
*utf::description("defaulted"))
{
   BOOST_TEST(false);
}
boost::test_tools::assertion_resultdo_it(utf::test_unit_id)
{
  returnfalse;
}
BOOST_AUTO_TEST_CASE(test2,// s2/test2
*utf::enabled()
*utf::description("enabled w. precondition")
*utf::precondition(do_it))
{
 BOOST_TEST(false);
}
//// --------------------------------------------------------------------------
// Test suite s2/s23, disabled
BOOST_AUTO_TEST_SUITE(s23,*utf::disabled())
BOOST_AUTO_TEST_CASE(test1)// s2/s23/test1
{
 BOOST_TEST(false);
}
BOOST_AUTO_TEST_CASE(test2,// s2/s23/test2
*utf::timeout(10))
{
 BOOST_TEST(true);
}
BOOST_AUTO_TEST_CASE(test3,// s2/s23/test3
*utf::enabled()
*utf::depends_on("s2/test2"))
{
 BOOST_TEST(true);
}
BOOST_AUTO_TEST_SUITE_END()// s2/s23
BOOST_AUTO_TEST_SUITE_END()// s2
//// --------------------------------------------------------------------------
// Test suite s1 continued
BOOST_AUTO_TEST_SUITE(s1)
BOOST_AUTO_TEST_SUITE(s14,
*utf::depends_on("s2/s23/test3")
*utf::description("test suite which depends on another test suite"))
BOOST_AUTO_TEST_CASE(test1,// s1/s14/test1
*utf::depends_on("s2"))
{
   BOOST_TEST("s14"=="test");
}
BOOST_AUTO_TEST_SUITE_END()// s1/s14
BOOST_AUTO_TEST_SUITE_END()// s1
>

выход

<
>./boost_runtime_list_content--list_content
s1*:disabledsuite1
   test1*:enabled
   test2:defaulted
   test3:defaulted
   s14:testsuitewhichdependsonanothertestsuite
       test1
s2*
   test1:defaulted
   test2*:enabledw.precondition
   s23*
       test1
       test2
       test3*
>


PrevUpHomeNext

Статья list_content раздела Boost.Test Runtime parameters reference может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Runtime parameters reference ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 19:54:06/0.0096569061279297/1