CPPUNIT學習系列筆記4

2021-04-28 22:46:39 字數 982 閱讀 5410

//helloworld.cpp

#include

#include

#include

#include

#include

#include

#include

//建立乙個測試用例,繼承自testcase

//該測試用例裡面有乙個測試函式

class test : public cppunit_ns::testcase

void teardown(void) {}

protected:

void testhelloworld(void)

void testmath(void)

//void

//該巨集自動將上面定義的測試用例,註冊到乙個用例庫中,通過cppunit_ns::testfactoryregistry::getregistry().maketest()就可以得到其包含的所有測試用例

cppunit_test_suite_registration(test);

int main( int argc, char **argv )

這個**的最終輸出是列印到螢幕的hello world!但是,它在後面進行了很多任務作,繼承testcase生成了乙個自己的測試用例,將其註冊到用例庫中,對測試的執行環境進行了設定,然呼叫testrunner執行測試用例,最終得到測試的成功與否!

通過上面的例子,還可以知道如下幾點:

1. cppunit內部使用了很多的巨集定義,這些巨集分別分布在cppunit的眾多標頭檔案裡面,所以在使用cppunit時,要引入很多的標頭檔案;

2. cppunit的語法風格非常的面向應用,語義性很強。例如「測試用例」,「測試執行著」,「執行結果」等類;

3. 通過巨集的使用,main函式中跟具體測試類相關的**已經完全不存在了,下次在增加新的測試用例,無需對main函式進行任何修改。可見,cppunit的自動化程度是很高的,同時測試框架的可復用性很高,無形降低了初學者的使用成本。

CPPUnit學習筆記

2 解壓 tar xf cppunit 1.12.1.tar.gz 3 進入目錄後執行configure 4 編譯makefiles make make install 以上步驟執行後出現問題 make失敗 糾結查了好久,終於在stackflow上看到解決辦法 1 ubuntu 16.04 lts ...

學習筆記 解讀CppUnit原始碼2

上次我詳細的剖析了與test.h相互關聯的 test類是cppunit的核心。test這個類相信看了上一章就知道,也就起到測試用例的作用,但是畢竟乙個類的功能有限,如何擴充test類的功能呢?下面裝飾者模式就登場了。testdecorator.h 這個類中儲存了乙份test的指標,這個類的count...

學習筆記 解讀CppUnit原始碼6

看了前面5章的話,就可以了解cppunit大致的結構了。這裡講講一些並不是很核心但卻是不可貨缺的 看看他們雖然學不到優秀的設計知識,但是鞏固一下c 的基礎也不錯。sourceline.h c中關於檔名和 所在的行數有兩個巨集定義 file line 方便在除錯和其他場合輸出。而這個sourcelin...