0
테스트 스위트로 boost.test를 사용하고 있습니다. 가능하다면 테스트를위한 필수 조건을 알고 싶습니다. 예 :Boost.Test howto "테스트 종속성"생성
uniqut_ptr<MyClass> g_class;
BOOST_AUTO_TEST_CASE(test1)
{
BOOST_REQUIRE_NO_THROW(g_class = CreateMyClass());
}
BOOST_AUTO_TEST_CASE(test2)
{
// This test need the test1 as passed
BOOST_REQUIRE(g_class->doSomething());
}
이 경우 test1에서 test2가 실패하면 프로그램이 실패합니다. 각 테스트의 시작 부분에 BOOST_REQUIRE(g_class)
을 추가 할 수 있다는 것을 알고 있습니다. 그러나 다른 방법이 있습니까?
단위 테스트는 실행 순서에 따라 달라서는 안됩니다. 이것은 Boost.Test에 대한 제한이 아니라 일반적으로 단위 테스트의 원칙입니다. 일반적인 것들을 제외하기 위해, 당신은 비품을 사용하고자 할 수도 있습니다 –
하지만 test1은 항상 test2 오른쪽의 첫 번째 실행됩니까? –
나는 그렇게 생각한다. 그러나 그것에 의존하지 말아야한다. 실행 순서에 관계없이 작동하는 방식으로 테스트를 작성해야합니다. –