操作系统:
软件版本:cppunit-1.12.0.tar.gz
代码调试通过
一、 CppUnit的原理
先简单介绍几个CppUnit的基本术语:
1、Fixture:一个或一组测试用例的测试对象。可以是你要测试的对象或者函数。
2、TestCase:测试用例。是对测试对象的某个功能或流程编写的测试代码。对一个Fixture,可能有多个测试用例。
3、TestSuite:同时运行的测试用例的集合。可以是一个fixture的多个测试函数、也可以是多个fixture的所有测试用例。
使用时,在测试的主文件中将TestCase注册到TestSuite中,并运行。
二、 下载与安装
可以在http://sourceforge.net/projects/cppunit/找到最新的源码并下载至本地。我下载的版本是cppunit-1.12.0.tar.gz
解压:tar -zxvf cppunit-1.12.0.tar.gz
进入cppunit-1.12.0的目录
//因为我是非root用户,没有对/usr/local/lib/和/usr/include的相应权限,//所以将安装的根目录设置为我的个人目录
.configure –prefix=/home/me
make
make install
这样,库文件就复制到/home/me了。
还要将cppunit-1.12.0中的头文件include复制到/home/me中。
三、利用cppunit建立测试的一般框架
通常将测试代码和被测的代码放在不同的工程里面,以免对我们要测试的代码造成污染,这也是运用cppunit的优点之一吧。
这样我们便有两个工程:
其一、待测工程:~/money
有两个文件:
Money.h
Money.cpp
- /**********************************************
- Money.h
- ***********************************************/
- #ifndef _MONEY_H
- #define _MONEY_H
- #include <iostream>
- #include <string>
- using namespace std;
- class CMoney
- {
- public:
- CMoney( double amount, string currency )
- : m_amount( amount )
- , m_currency( currency )
- {
- }
- ~CMoney(){}
- double GetAmount() const;
- string GetCurrency() const;
- bool operator ==( const CMoney &other ) const;
- bool operator !=( const CMoney &other ) const;
- CMoney &operator +=( const CMoney &other );
- private:
- double m_amount;
- string m_currency;
- };
- #endif