Boost.Test如何创建“测试依赖”

时间:2013-07-05 14:21:17

标签: c++ boost-test

我正在使用boost.test作为测试套件。我想知道是否可以做一些测试的先决条件。例如

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 )。但还有另一种方式吗?

1 个答案:

答案 0 :(得分:2)

当您需要某些内容时,我会看到提升REQUIRE,因此请将需求放在每个测试的顶部。 或者考虑使用测试夹具并在设置功能中进行设置。有一些例子here 它有点像你试图在测试中使用全局变量,因此它们可能以可怕的方式进行交互。全球数据比它的价值更麻烦。