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
に呼び出されると、すべてのブースト テストが正常に実行されますが、2 回目の繰り返しでは、ブースト テストが例外をスローします。
内部コードを調べたところ、unit_test_main
呼び出されるたびにフレームワークが初期化され、フレームワークが既に初期化されている場合、ブースト テストはフレームワークを再度初期化することを好まないことがわかりました。
テストランナーを終了せずにユニットテストを複数回実行する方法があれば教えてください。