Boost.Test 如何创建"test dependency"

Boost.Test howto create "test dependency"

本文关键字:test dependency 创建 Test 何创建 Boost      更新时间:2023-10-16

我正在使用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 )。但是还有别的办法吗?

我看到了当您需要某个东西为true时使用的增强REQUIRE,所以将require放在每个测试的顶部。或者考虑使用测试夹具并在设置功能中进行设置。这里有一些例子这闻起来像是你试图在测试中使用全局变量,所以它们可能会以可怕的方式交互。全球数据比它的价值更麻烦。