根据this文章,可以在GoogleTest框架中使用以下代码进行参数化测试:
INSTANTIATE_TEST_CASE_P(InstantiationName,
MyStringTest,
::testing::Values("meek", "geek", "freek"));
TEST_P(MyStringTest, acceptsEekyWords)
{
ASSERT_TRUE(acceptName(GetParam()));
}
加上一些脚手架。
经过CxxTest User Guide后,我无法提醒,但没有提及参数化测试。参数化测试甚至可以用CxxTest进行吗?
This question似乎解决了类似问题,但答案绝不是微不足道的。
我是C ++单元测试的新手。也许参数化测试不是什么大不了的事?几乎所有的测试都在我上一个C#NUnit项目中进行了参数化。
答案 0 :(得分:1)
正如我在回答您引用的另一个问题时所写的那样,在运行时无法生成测试,这是我见过的任何基于参数的测试人员所做的。在CxxTest中,测试列表由编译时由基于Python的C ++解析器cxxtestgen
确定。您可以generate suites dynamically,但您只能选择生成任何套件的零个或一个副本。