1

根据这篇文章,可以使用如下代码在 GoogleTest 框架中进行参数化测试:

INSTANTIATE_TEST_CASE_P(InstantiationName,
                        MyStringTest,
                        ::testing::Values("meek", "geek", "freek"));

TEST_P(MyStringTest, acceptsEekyWords)
{
  ASSERT_TRUE(acceptName(GetParam()));
}

加上一些脚手架。

在浏览完CxxTest 用户指南后,我不禁注意到没有提及参数化测试。CxxTest 甚至可以进行参数化测试吗?

这个问题似乎解决了类似的问题,但答案绝不是微不足道的。

我是 C++ 单元测试的新手。也许参数化测试没什么大不了的?几乎我所有的测试都在我上一个 C# NUnit 项目中进行了参数化。

4

1 回答 1

1

正如我在对您引用的另一个问题的回答中所写的那样,没有在运行时生成测试的工具,这是我见过的任何基于参数的测试器所做的。在 CxxTest 中,测试列表由基于 Python 的 C++ 解析器在编译时确定,cxxtestgen. 您可以动态生成套件,但您只能选择生成任何套件的零个或一个副本。

于 2014-09-22T22:59:01.820 回答