CppUnit 单元测试框架(二)

类别:编程语言 点击:0 评论:0 推荐:
二、编写单元测试代码

在 CppUnit 中,每一个测试用例用一个类表示,该类通常用于测试一个模块,如果该模块是一个类,正好对应这个测试用例。

定义类:


每个测试用例类都必有继承自 CPPUNIT_NS::TestFixture。如:
class SampleTestCase : public CPPUNIT_NS::TestFixture

并且,这个类还需要定义一对宏:


CPPUNIT_TEST_SUITE (SampleTestCase);
CPPUNIT_TEST_SUITE_END ();

这对宏里面用于定义这个测试类所包含的测试方法。而且,在实现的源程序中也需要定义一个宏来 标识该测试类:


CPPUNIT_TEST_SUITE_REGISTRATION (SampleTestCase);

除此之外,每个类还可以实现两个方法:setUp(), tearDown()。第一个方法在运行这个类的测试 方法之前被调用,而第二个方法则是在运行完这个类的测试方法之后被调用。例如,如果这个测试 类需要操作一个文件里的信息,通常在运行测试方法之前,需要打开指定的文件,这些处理则可以 放在 setUp() 中实现。而完成测试之后,又需要将打开的文件关闭,这些操作可以在 tearDown() 中实现。这两个方法的原型是:


void setUp ();
void TearDown ();

定义测试方法

每个测试方法用于测试一段功能,通常对应于被测试类的某公开方法。例如,在 Sample 类中有一个 foo () 方法,在测试类 SampleTestCase 中也可以声明一个 foo () 方法。注意,强烈建议使用相同 的名称,这样便于维护。

每一个测试方法需要在类的 CPPUNIT_TEST_SUITE 宏中添加一个定义,以便 CppUnit 能够发现该测试方 法,如:


CPPUNIT_TEST (foo);

本文地址:http://com.8s8s.com/it/it23523.htm