学习笔记:解读CppUnit源码6

本文解析了CppUnit测试框架的几个关键组件,包括SourceLine类、Message类、Exception类、TestFailure类以及不同输出类如CompilerOutputter和TextOutputter的工作原理。

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

看了前面5章的话,就可以了解cppUnit大致的结构了。这里讲讲一些并不是很核心但却是不可货缺的代码。看看他们虽然学不到优秀的设计知识,但是巩固一下C++的基础也不错。

SourceLine.h

C中关于文件名和代码所在的行数有两个宏定义(__FILE__,__LINE__),方便在调试和其他场合输出。而这个SourceLine类正是对两者的封装。需要补充一点请大家注意SourceLine::operator !=操作符重载,在它的方法实现里面,是调用了operator==,即保证了语义的正确,又避免了代码重复

 

Message.h

message类是对一个字符串(简短描述)和复数行字符串的一个封装。

Exception.h

Exception类聚集了异常处理输出所需要的message和sourceLine。其中Exception继承自std::exception目的就是要重载what方法来输出错误信息。

TestFailure.h

这个TestFailure类里面有两种状态:failure和error。failure是我们测试中断言报错的,error就是在保护里面报出的错误。这个类聚集了Test,Exception,Source,这个类的输出跟TestResult的子类:TestResultCollector里面输出。

 

接下来该看看具体如何输出数据

Outputter.h

CompilerOutputter.h

TextOutputter.h

如何输出测试信息还有一个类叫:XMLOutputter,具体如何输出个人觉得没有什么好研究的,所以在这里就一笔带过了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

进击的横打

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

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

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

打赏作者

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

抵扣说明:

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

余额充值