寄語:本人只做了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...