CppUnit部分核心代码分析之SourceLine

来源:互联网 发布:材料 知乎 编辑:程序博客网 时间:2024/05/18 03:45

一:SourceLine(异常定位点对象)

说明

异常定位,实质是对测试点出现异常的地方进行位置定位。在实现的过程中,主要利用了宏定义__FILE____LINE__来进行定位 。

预定义宏:

#define    CPPUNIT_SOURCELINE()

CPPUNIT_NS::SourceLine(__FILE__, __LINE__ )

定义一个的“异常定位点”临时对象,方便利用此宏直接进行定义。

 

类设计详解:

类名:

class CPPUNIT_APISourceLine

 

类图:


成员变量:

private:

  std::string m_fileName;  //文件名

  int m_lineNumber; //文件行号

成员函数:

SourceLine();

说明:

初始化成员对象为invalid值

 

SourceLine(const SourceLine &other );

说明:

拷贝构造函数

 

SourceLine(const std::string &fileName,

              int lineNumber );

说明:

构造函数,初始化成员变量为相关的指定值

 

SourceLine&operator =( const SourceLine &other );

说明:

赋值操作符重载。

 

virtual~SourceLine();

说明:

虚析构函数,方便子类的继承。但是在整个的设计过程中,似乎没有对该类进行重载,所以做个虚析构函数没有多大意义。

 

boolisValid() const;

说明:

判断该对象是否可用,实质是判断文件名是否为空。

 

intlineNumber() const;

std::stringfileName() const;

说明:

成员变量的获取操作。

 

booloperator ==( const SourceLine &other ) const;

bool operator !=( constSourceLine &other ) const;

说明:

操作符的重载。