亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-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
主站蜘蛛池模板: 亚洲一区二区三区香蕉 | 亚洲影视在线观看 | 三级黄色片网站 | 亚洲影视在线观看 | 亚洲日韩精品欧美一区二区 | 在线99热| 夜夜狠狠狠狠 | 视频一区二区国产 | yy4138殇情理论片一级毛片 | 亚洲一区日韩二区欧美三区 | 狠狠r| 一区二区三区视频在线 | 波多野结衣手机视频一区 | 波多野结衣178部中文字幕 | 久久久久88色偷偷 | 久久久久国产精品免费免费 | 污视频网站免费看 | 天天干在线观看 | 草草影院第一页yycccom | 欧美性猛交xxx黑人猛交 | 永久免费毛片 | 国产高清av在线播放 | 亚洲精品亚洲人成在线播放 | 国产大臿蕉香蕉大视频女 | 毛片无码国产 | 午夜欧美日韩 | 精品精品国产理论在线观看 | 日本三级香港三级久久99 | 亚洲欧洲精品国产区 | 麻豆国产人免费人成免费视频 | 午夜精品久久久久久久久 | 成人二区| 欧美日韩国产手机在线观看视频 | 国产一级片免费 | 好男人免费社区视频www | 天堂va在线高清一区 | 成人毛片视频免费网站观看 | 日本欧美在线 | 中文字幕第4页 | 欧美成人家庭影院 | 深夜福利网址 |