1 TestCase, Fixture and Suit
Cppunit通过上面三个概念(类)来组织测试用例。一般来说,一个Fixture包含 了N个TestCase,而一个Suit又包含了N个Fixture。用图表示就是下面这样:

2 Helper Macros
在Helper Macros出现之前,把N个case加到一个suit里是一件非常机械的事, 它不仅要求为一个Fixture子类提供一个静态的suit()函数成员,它还意味着重 复写个类似于
suite.addTest(
new CppUnit::TestCaller<ComplexNumberTest>( "testEquality",
&ComplexNumberTest::testEquality )
);
的代码,而这种代码一旦多了就容易造成笔误。因此 CppUnit提供了一些宏如 CPPUNIT_TEST_SUITE, CPPUNIT_TEST_EXCEPTION 等来帮助开发人员减少这 种情况的发生。 使用 CPPUNIT_TEST_SUITE 后,写成:
CPPUNIT_TEST( testEquality )
就行了。
3 TestFactoryRegistry
TestFactoryRegistry的存在是为了解决两个问题:
- 忘记将某个fixture添加进suit
- 有多少个suit就有多少个#include (一般一个suit放到一个文件里)
本文介绍了CppUnit测试框架的核心概念,包括TestCase、Fixture和Suite的组织结构,如何使用HelperMacros简化测试用例的编写,并解释了TestFactoryRegistry的作用。
&spm=1001.2101.3001.5002&articleId=20006189&d=1&t=3&u=b6d9dd24044a4878b38b9d22aadac027)
1547

被折叠的 条评论
为什么被折叠?



