分享
 
 
 

CppUnit 单元测试框架(二)

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

二、编写单元测试代码

在 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);

在定义测试方法之后,就可以在该方法内编写单元测试代码了。单元测试框架都采用断言式的测试方式,

即编写一个表达式,检查其结果是否为真,真则表示通过。在 CppUnit 中,用于检验测试是否通过的宏

包括:

CPPUNIT_ASSERT (expr) : 检查表达式 expr 是否为真,真则通过,假则错误。

CPPUNIT_ASSERT_TRHOW (expr, exception) : 检查表达式 expr 是否抛出异常类型 exception,

如果抛出了指定类型的异常,则通过测试。

CPPUNIT_ASSERT_MESSAGE (message, expr) : 类似于CPPUNIT_ASSERT, 但在没有通过时输出消息 message。

CPPUNIT_FAIL (message) : 强制性不通过测试,并输出消息 message。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有