Возможно ли, чтобы прибор был инициализирован только один раз и использовал его в нескольких тестовых случаях в одном наборе тестов? В следующем примере, приспособление построено и разрушено несколько раз:Возможно ли инициализировать прибор только один раз и использовать его в нескольких тестовых случаях?
struct F {
F() : i(0) { BOOST_TEST_MESSAGE("setup fixture"); }
~F() { BOOST_TEST_MESSAGE("teardown fixture"); }
int i;
};
BOOST_FIXTURE_TEST_SUITE(s, F)
BOOST_AUTO_TEST_CASE(test_case1)
{
BOOST_CHECK(i == 1);
}
BOOST_AUTO_TEST_CASE(test_case2)
{
BOOST_CHECK_EQUAL(i, 0);
}
BOOST_AUTO_TEST_SUITE_END()
Но я хочу, светильник будет построен только один раз, как начинается набор тестов и общим для всех тестовых примеров в ней. Является ли это возможным? Деструктор будет вызван после выхода из набора тестов.
Я использую Boost Test Framework, но не имею проблем с использованием других фреймворков, таких как UnitTest ++.
Целью приспособления является подготовка среды для всех тестовых случаев. Зачем нужно готовить его до первого дела, но не для других? – harper
@harper Предположим, что я открываю сокет, который будет использоваться во всех тестовых случаях. Я не хочу, чтобы открывать и закрывать сокет для каждого тестового примера. Я хочу открыть его только один раз, использовать его в нескольких тестовых случаях, а затем закрыть его после завершения последнего теста. – 2013-04-10 06:17:59
http://boost.2283326.n4.nabble.com/Boost-Test-Initialize-fixture-only-once-td2626388.html –