学习笔记:解读CppUnit源码6

来源:互联网 发布:中国农大网络 编辑:程序博客网 时间:2024/06/07 23:42

看了前面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,具体如何输出个人觉得没有什么好研究的,所以在这里就一笔带过了。

 

原创粉丝点击