2012-05-15 174 views
0

我想使用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測試不像初始化框架那樣。

請讓我知道是否有任何方法可以在不退出測試跑步者的情況下多次運行單元測試。

回答

0

您需要實現自己的測試運行器來替換庫存unit_test_main。你可以看到股票版本在做什麼,並在那裏添加循環。

相關問題