|
|
1
8
在cppunit中不可能直接参数化测试用例(请参见 here 和 here )但是,您有几个选择:
使用A
|
|
|
2
3
我不知道这是否符合cppunit的“首选做事方式”,但这是我现在采取的方法。 |
|
|
3
1
根据marcin的建议,我实现了一些宏来帮助定义参数化的cppunit测试。 使用此解决方案,只需替换类头文件中的旧宏cppunit_test_suite和cppunit_test_suite_end:
在实现文件中,需要将旧的cppunit_test_suite_registration宏替换为:
这些宏要求您实现以下方法:
详细解释如下: http://brain-child.de/engineering/parameterizing-cppunit-tests 德语版本可在此处找到: http://brain-child.de/engineering/parametrierbare-tests-cppunit |
|
|
4
0
我不是一个C++程序员,但我可以帮助实现单元测试概念: 测试用例是独立运行的,不依赖于外部参数。另外,您应该将测试用例的数量保持在覆盖大部分代码的最小值。然而,有些情况下(我已经处理过一些),有些测试看起来是一样的,只是在一些小参数上有所不同。最好的办法是写一个 固定装置 它接受您正在讨论的参数,然后为每个参数都有一个测试用例,并用它调用fixture。下面是一个通用示例:
否则,您就不会编写真正的测试用例,因为它们应该是可复制的,而不需要执行它们的人提供太多的知识。我认为有一些参数作为测试的输入非常重要。那么为什么不在自己的测试用例中明确每一个呢?这也是编写文档的最佳方法,而不是编写单独的文档来指导程序员在几年后阅读代码。 |
|
|
5
0
这是一个很老的问题,但我只需要做一些类似的事情,并提出以下解决方案。我对它不是百分之百满意,但它似乎做得很好
通过这种方式,我们多次注册generictester(),每个参数一次,并指定一个名称。这对我来说似乎很管用。 希望这能帮助别人。 |
|
6
0
基于consumerhore的答案,我得到了一个非常好的方法,在这里我可以使用一个单行注册宏创建多个测试,其中包含我想要的任意多个参数。 只需定义一个参数类:
使您的测试设备使用它作为“非类型模板参数”(我认为它就是这样被调用的):
让一个小宏创建一个参数并注册一个新的测试夹具:
最后,添加任意数量的测试:
执行此测试将为您提供:
|
|
|
7
0
下面的类/助手宏对适用于我当前的用例。在你
|
|
|
user869525 · 利用现有项目进行CppUnit测试 13 年前 |