我使用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 )。但是有没有别的办法呢?
发布于 2013-07-05 22:27:21
我看到boost REQUIRE用于当你要求某些东西为真的时候,所以把需求放在每个测试的顶部。或者考虑使用测试夹具并在设置功能中进行设置。有一些例子here它闻起来像是你试图在你的测试中使用一个全局变量,所以它们可能会以可怕的方式交互。全局数据带来的麻烦比它的价值更大。
https://stackoverflow.com/questions/17491088
复制相似问题