ブーストテストケースがあります。このテスト ケースのほとんどの行は、パラメーターに関係なく実行されます。ただし、指定されたパラメーターに基づいて実行される部分があります。いくつかのマイナーな部分を除いてほとんど同じである 2 つの別個のテスト ケースを作成することは避けたいと思います。したがって、次のようなアプローチを使用して、パラメーター化されたテスト ケースを作成する必要があります。
BOOST_FIXTURE_TEST_CASE(caseA, Fixture)
{
TestFunction("parameterA");
}
BOOST_FIXTURE_TEST_CASE(caseB, Fixture)
{
TestFunction("parameterB");
}
void TestFunction(string param)
{
// ...
// lots of common checks regardless of parameters
// ...
if(param == "parameterA")
BOOST_CHECK(...);
else if(param == "parameterB")
BOOST_CHECK(...);
}
より便利な方法で私の目標を達成する他の方法はありますか? BOOST_PARAM_CLASS_TEST_CASEマクロを見つけることができましたが、この場合に関連するかどうかはわかりません。