学习笔记:解读CppUnit源码2

本文介绍cppUnit测试框架中装饰者模式的应用,通过扩展Test类实现重复测试与测试环境搭建等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 上次我详细的剖析了与Test.h相互关联的代码。Test类是cppUnit的核心。Test这个类相信看了上一章就知道,也就起到测试用例的作用,但是毕竟一个类的功能有限,如何扩充Test类的功能呢?下面装饰者模式就登场了。

TestDecorator.h

这个类中保存了一份Test的指针,这个类的countTestCases方法,run方法和getChildTestCount方法,其实都是调用这个指针对应的方法,当然一个也只是装饰的基类,而真正的类功能扩展是放在它的子类中。

RepeatedTest.h

这个类加了一个m_timesRepeat变量(扩展),就实现了单个测试用例的重复测试。

TestSetUp.h

跟上面一个相比,它做的不是类成员变量的扩充而是方法的扩充。这块代码是对Decorator模式的美妙运用,这样想再扩展Test抽象类功能的时候就变得方便多了。因为不用该其他类了。相同的代码还运用在了TestCaseDecorator这个地方。代码基本相同,在这里就不废话了。

 

下面该说说另外一个很重要的类,TestFixture,相信从这个名字中大家就可以知道了这个是测试的装置器,因为在面向对象的类的测试中,不光光是执行一个类中的一个共有的方法就可以了,至少应该要做被测类的new以及相关测试所必需的成员变量的赋值等等。而装置器正是做这些事情。前面讲的TestCase就多重继承了它。

TestFixture.h

因为是空的虚函数,那么setUp和tearDown这两个方法是在哪里实现的呢?当然是在具体的测试类中实现(如ExampleTestCase,它继承自TestFixture,然后再扩展这两个方法的功能)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的横打

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值