cppunit使用詳解

2021-07-06 09:36:17 字數 3075 閱讀 3896

寄語:本人只做了windows的,這篇linux的沒做,只使用了他的例子,不錯

cppunit使用詳解

第二步: 下面我介紹一下個人認為比較實用的測試程式的結構。

這個測試類從cppunit::testfixture派生,並且由下面的部分組成:

a. setup() 方法

在這個方法裡實現一些準備工作,例如生成一些被測類的實列

setup()

b. teardown() 方法

在這個方法裡實現掃尾的工作,例如釋放記憶體

teardown()

c. 測試方法的方法

例如,在被測類裡有乙個方法叫做:bool operator==(mycomplex &a), 我們

要寫乙個名字叫作test_equality的方法來測試。

void graphtest::testconstructor()

cppunit_assert用來判斷裡面的表達是是否為真。

d. 把幾個測試方法「打包」為乙個suite。

cppunit::testsuite *suite= new cppunit::testsuite();

suite->addtest(new cppunit::testcaller ("testconstructor", &graphtest::testconstructor)); 

測試類就是由這些方法組成。

e. 執行測試用例

cppunit::textui::testrunner runner;

runner.addtest( suite ); //指定執行testsuite 

//開始執行, 自動顯示測試進度和測試結果

runner.run( "", true );

下面通過完整的源**展現cppunit的使用方法。

// file1 : dijkstra.h 該標頭檔案中含有下面**,現在我們要使用cppunit對建構函式進行測試

#ifndef dijkstra_h

#define dijkstra_h

struct vertex};

// end struct vertex

#endif

// file2 : graphtest.h

#include

"dijkstra.h"

#include

"cppunit/testfixture.h"

class graphtest :

public cppunit:

:testfixture 

// 初始化函式

void setup ();

// 清理函式

void teardown();

// 測試建構函式的測試函式

void testconstructor ();

//還可以新增新的測試函式};

// file3 : graphtest.cpp

#include

"graphtest.h"

#include

"cppunit/testassert.h"

void graphtest:

:setup(

)void graphtest:

:teardown(

)void graphtest:

:testconstructor(

)// file4: main.cpp

#include

"graphtest.h"

#include

"cppunit/ui/text/testrunner.h"

#include

"cppunit/testcaller.h"

#include

"cppunit/testsuite.h"

int main(

)

好了。都準備好了,編譯:

[root@zieckey cppunit]

# g+

+ graphtest.cpp main.cpp -lcppunit -i /data/soft/cppunit-1.12/include

/-l /data/soft/cppunit-1.12/lib 

/data/soft/cppunit-1.12/lib/libcppunit.so: undefined reference to `dlsym'

/data/soft/cppunit-1.12/lib/libcppunit.so: undefined reference to `dlopen'

/data/soft/cppunit-1.12/lib/libcppunit.so: undefined reference to `dlclose

這個錯誤是由於沒有找到 dlsym 等函式的鏈結庫,制定下他們的連線庫:

[root@zieckey cppunit]

# g+

+ graphtest.cpp main.cpp -lcppunit -i /data/soft/cppunit-1.12/include

/-l /data/soft/cppunit-1.12/lib -ldl

編譯成功,執行:

[root@zieckey cppunit]#.

/a.out.f!

!!test results:

run: 1 failures: 1 errors: 0

1)test

: testconstructor (f) line: 17 graphtest.cpp

assertion failed

- expression: m_vertex-

>wasvisited =

= true

to continue

發現乙個錯誤,建構函式沒有按照我們想象的對成員變數 wasvisited 初始為 true

從而發現乙個錯誤,修改 vertex 的構造如下:    

vertex(

char lab )

// constructor

再次編譯,執行,通過測試。 

CppUnit使用簡介

c 單元測試工具cppunit使用簡介 準備工作 1.到 2.解壓檔案,進入src資料夾,開啟cppunitlibraries.dsw。分別編譯這兩個project,輸出位置均為lib資料夾。3.在vc的tools options directories include files和library ...

cppUnit快速使用指南

原文寫於22 january 2007 注 vc下cppunit快速使用指南 編譯開啟cppunit src cppunitlibraries.dsw,build batch build,全部build 編譯後得到所需庫檔案,在cppunit lib 安裝將cppunit include加入到vc ...

CPPUnit 使用指南 Unix

單元測試工具cppunit在windows平台下使用圖形介面,操作非常直觀 但在unix平台下,就需要花點功夫配置一番 2.不用安裝,直接將cppunit解壓到指定路徑 3.編寫cppunit makefile,需指定以下3中路徑 1.待測試 路徑 2.cppunit軟體路徑 3.測試 路徑 給出m...