我有一个提升测试用例。无论参数如何,都会执行此测试用例的大多数行。但是有些部分是根据提供的参数执行的。我想避免编写两个单独的测试用例,它们几乎相同,除了一些小部分。所以我需要使用类似下面的方法来创建参数化测试用例:
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宏,但我不确定它在这种情况下是否相关。