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

问题描述:

我想使用Boost测试多次运行单元测试而不退出测试运行器。下面是伪代码来证明什么,我想做的事:使用BoostTest多次运行单元测试而不退出测试运行器

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被调用时,所有的升压测试运行正常,但在第二次迭代,升压试验抛出异常。

我看了一下内部代码,发现每次调用框架都初始化了unit_test_main,如果框架已经初始化,boost测试不像初始化框架那样。

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

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