使用BoostTest多次运行单元测试而不退出测试运行器

时间:2012-05-15 17:01:43

标签: boost boost-test

我想使用Boost Test多次运行单元测试而不退出测试运行器。这是伪代码,用于演示我想要做的事情:

void main() {
    for(int i = 0; i < 10; ++i) 
    {
            char *arguments[] ={ "MyApplication.exe", 
                                 "--detect_memory_leak=0" };
            boost::unit_test::unit_test_main( &init_function, 2, arguments);
     } 
}

第一次调用unit_test_main时,所有的boost测试运行正常,但在第二次迭代中,boost测试会抛出异常。

我查看了内部代码,发现每次调用unit_test_main时都会初始化框架,如果框架已经初始化,则boost测试不再喜欢初始化框架。

如果有任何方法在没有退出测试跑步者的情况下多次运行单元测试,请告诉我。

1 个答案:

答案 0 :(得分:0)

您需要实现自己的测试运行器来替换stock unit_test_main。你可以看到库存版本正在做什么,并在那里添加循环。