我想使用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测试不再喜欢初始化框架。
如果有任何方法在没有退出测试跑步者的情况下多次运行单元测试,请告诉我。
答案 0 :(得分:0)
您需要实现自己的测试运行器来替换stock unit_test_main。你可以看到库存版本正在做什么,并在那里添加循环。