Fixture를 한 번만 초기화하고 같은 테스트 스위트 내의 여러 테스트 케이스에서 사용할 수 있습니까? 다음 예에서, 고정은 건설하고 여러 번 파괴되어조명기를 한 번만 초기화하고 여러 테스트 케이스에서 사용할 수 있습니까?
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 모든 테스트 케이스에서 사용할 소켓을 열고 있다고 가정합니다. 나는 각 테스트 케이스에 대해 소켓을 열고 닫고 싶지 않다. 한 번만 열어 여러 테스트 케이스에서 사용하고 마지막 테스트 케이스가 완료된 후에 닫고 싶습니다. –
http://boost.2283326.n4.nabble.com/Boost-Test-Initialize-fixture-only-once-td2626388.html –