У меня есть тестовый тест. Большинство строк этого тестового примера выполняются независимо от параметров. Но есть части, которые выполняются на основе предоставленного параметра. Я хочу избежать написания двух отдельных тестовых примеров, которые почти идентичны, за исключением некоторых второстепенных частей. Поэтому мне нужно использовать что-то вроде следующего подхода для создания параметризованных тестовых случаев:Boost Test: Как написать параметризованные тестовые примеры
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, но я не уверен, что это актуально в этом случае.
[Ответ] (http://stackoverflow.com/a/8110228/1252091) может быть вам полезен (я не тестировал код). –
Возможный дубликат [Можно ли использовать BOOST \ _PARAM \ _TEST \ _CASE с автоматической регистрацией на boost :: test?] (Http://stackoverflow.com/questions/8084038/is-it-possible-to-use- подталкивание-пары-тест-случай-с автоматической регистрацией-на-импульса) –