亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > cppUnit
CppUnit Cookbook中文版
作者:網絡轉載 發布時間:[ 2014/1/2 10:04:17 ] 推薦標簽:CppUnit 單元測試

本文是一篇簡單的入門指導,幫助你快速上手。

簡單測試用例(Simple Test Case)

你希望知道你的代碼是否正在工作。
你該怎么辦?
有很多種方法。使用調試器直接調試或者在你的代碼里亂丟一些流輸出指令是兩種簡單的方法,但是它們都有自己的缺點。直接調試代碼是個好主意,但是它不是自動進行的。你不得不在每次改動代碼以后重新調試。輸出流文本也不錯,但是它使代碼變得面目可憎,并且大多數情況下,它輸出的信息比你想要的要多。

在CppUnit中測試可以自動進行。這些測試可以很容易被建立,并且一旦你書寫完畢,他們可以幫助你時刻了解你代碼的質量。

為了做一個簡單的測試,下面這些是你要做的:

從TestClass中派生一個類。Override runTest()方法。當你希望檢查一個值的時候,調用 CPPUNIT_ASSERT(bool),如果測試成功這個assert表達式可以被順利通過。

比如,為了測試一個復數類的等值比較,書寫如下:

class ComplexNumberTest : public CppUnit::TestCase {
public:
ComplexNumberTest( std::string name ) : CppUnit::TestCase( name ) {}

void runTest() {
CPPUNIT_ASSERT( Complex (10, 1) == Complex (10, 1) );
CPPUNIT_ASSERT( !(Complex (1, 1) == Complex (2, 2)) );
}
};

這是一個簡單的測試。通常來說,你會有很多小的測試用例,并且希望能在同一個對象集合中測試。為了達到這個目的,使用fixture。

Fixture
一個fixture是一組對象,被用來作為測試一組用例的基礎。當你邊開發邊測試的時候,使用fixture會非常方便。

那我們嘗試一下這種開發方式,同時學習一下fixture的使用方法。假定我們是想開發一個復數的類,我們從定義一個名為Complex的空類開始。

class Complex{};

現在建立上面那個ComplexNumberTest測試用例,編譯它們看看會發生什么。我們注意到的第一件事是有一些編譯錯誤。測試使用了操作符==,但是它并沒有被定義。修改如下:

bool ōperator==( const Complex & a, const Complex & b )
{
return true;
}

現在再次編譯并運行之。這次編譯通過了,但是沒有通過測試。我們需要再寫些代碼使操作符==可以正確工作,所以我們再次修改代碼:

class Complex {
friend bool ōperator ==(const Complex& a, const Complex& b);
double real, imaginary;
public:
Complex( double r, double i = 0 )
: real(r)
, imaginary(i)
{
}
};

bool ōperator ==( const Complex &a, const Complex &b )
{
return eq( a.real, b.real ) && eq( a.imaginary, b.imaginary );
}

如果我們現在編譯并運行,可以順利通過測試。

上一頁12345下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 在线五月婷婷 | 偷亚洲偷国产欧美高清 | 欧美成人一区二区三区不卡 | 免费一级欧美片在线观免看 | 日韩欧美一区二区三区不卡视频 | 一级毛片免费观看久 | 黄片毛片免费在线观看 | 欧美日韩综合高清一区二区 | 日韩欧美伦理 | 日韩午夜精品 | 最近2019中文字幕免费版视频 | 夜夜夜夜曰天天天天拍国产 | 精品在线播放视频 | 日韩专区一区 | 成年人福利视频 | 中文天堂| 欧美一级视频在线高清观看 | 成人观看免费观看视频 | 免费日b视频| 成人影院vs一区二区 | 天天色综合2 | 久久精品99视频 | 国内精品免费一区二区观看 | 香蕉亚洲欧洲在线一区 | 成人一级毛片 | 亚欧精品 | 成年美女黄网站色大免费观看软件 | 一级毛片免费在线播放 | 小明www永久在线看 小明爱看看永久成人免费平台 | 夜夜想夜夜爽天天爱天天摸 | 欧美日韩一区二区三 | 草草视频手机在线观看视频 | 美国俄罗斯毛片一区二区 | 国产日产欧美一区二区三区 | 日韩在线小视频 | 国产精品亚洲精品观看不卡 | 亚洲一二三在线 | 黄色视屏在线免费看 | 韩日在线 | 精品久久久久久久九九九精品 | 老湿影院在线免费观看 |