0

我想使用 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测试不喜欢再次初始化框架。

请让我知道是否有任何方法可以在不退出测试运行器的情况下多次运行单元测试。

4

1 回答 1

0

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

于 2012-05-24T22:53:28.210 回答