2010-11-11 4 views
5

Я использую boost::test для выполнения интеграционных тестов для класса, который создает каталоги и файлы. Я хотел бы эти файлы называться конкретным тестом, поэтому, если я столкнулся с трудностями, я могу легко найти, какой тестовый файл оставил его каталоги/файлы.с использованием имени тестовой системы в именах выходных файлов

Поэтому я хотел бы использовать имя тестового примера в конструкторе используемого устройства, как показано ниже. Возможно ли это вообще и как? Я искал инструкцию boost :: test, но не смог найти эту информацию.

например.

struct foo_fixture 
{ 
    foo_fixture() 
    { 
     std::string case_dependent_name(BOOST_TEST_CASE_NAME); 
     create_directory(case_dependent_name); 
    } 
}; 

BOOST_FIXTURE_TEST_CASE (foo_case_one, foo_fixture) 
{ 
    ... 
} 
BOOST_FIXTURE_TEST_CASE (foo_case_two, foo_fixture) 
{ 
    ... 
} 

ответ

7

Я нашел это, и она работает:

boost user group discussion

По сути, вы используете переменную-член строку, найденную на экземпляре test_unit:

boost::unit_test::framework::current_test_case().p_name 
+0

ты мой герой. –