gtest使用入門 5 類的測試,使用測試引數

2021-10-25 02:59:53 字數 2279 閱讀 4696

本篇學習類的測試,並使用測試引數進行測試。

待測原始碼是乙個計算器類,接下來我們對這個類進行測試。

增加待測原始碼標頭檔案

增加待測原始碼cpp檔案

增加測試用例檔案如下:

至此待測原始碼準備完成。
因為我們只在已有的目錄增加了原檔案,沒有建立新的目錄和標頭檔案,所以makefile可以不用修改。

cd 進入googletest-release-1.8.1/googlemock/make/ 目錄

執行make命令進行編譯和執行測試:

make

./run_test

執行結果:

可以看到我們的測試用例執行成功。

上面的例子可以看到,在測試加法時,為了後面的加數是不同的值,現在因為使用等價類劃分只有 -1, 0, 1三個值,如果是測試別的用例,需要測試幾十,上百個值的時候,我們的測試**會非常多,為了應對這個情況,可以使用谷歌提供的測試引數巨集。簡單使用方法如下:

在testsuits目錄建立乙個fixtures資料夾,用於存放測試引數巨集,或者以後的測試韌體類。

建立calculator_fixture.h標頭檔案。標頭檔案的內容如下:

;增加使用測試引數的用例:

在calculator_ut.cpp檔案中增加如下用例:

修改makefile

因為我們增加了fixtures目錄並在該目錄新增了calculator_fixture.h標頭檔案,所以我們需要修改makefile,使編譯的時候能找到我們的標頭檔案:

編譯並執行用例

cd 進入googletest-release-1.8.1/googlemock/make/ 目錄

執行make命令進行編譯和執行測試:

make

./run_test

執行結果

嘗試讓測試用例失敗

一路過濾我們寫的用例都是pass的,我們可以嘗試讓用例失敗,看看如果我們測試到bug,會怎麼樣。

這裡把使用引數測試的用例中的-1改為-2,這樣期望的值肯定就跟預期的不一樣了:

重新編譯執行,fail的結果就顯示出來了:

這次學習了使用gtest進行了如下測試:

1、對類的預設建構函式進行測試

2、對類的帶引數的建構函式進行測試

3、對類的方法進行測試

4、使用測試引數進行測試,簡化用例編寫

git clone [email protected]:tonsenwei/gtest_samples.git

c 測試框架gtest的入門

第一次接觸和使用c 的測試框架,在這裡記錄一下 我是在linux中的clion下使用的 參考資料 我下這個版本的 需要進入目錄 cmake一下,生成靜態庫檔案.a 參考這篇 實現 不用全部拖進去,只要我們需要的部分就可以了,兩個.a是cmake之後的產物,也要加入 cmake minimum req...

gtest使用入門 4 函式的單元測試

前面搭建好了gtest和gmock的環境,並執行了原生的例子。接下來開始進行實際使用。本篇學習函式的測試。建立目錄 在上篇建立的mycode路徑下,建立allcode目錄,用於存放所有待測 裡面再建立兩個資料夾 在allcode同級目錄下建立testsuits資料夾,用於存放測試套件 用例 檔案 建...

用gtest測試類的私有成員

使用gtest 或者cppunit之類的框架編寫單元測試 乙個最常見的問題是對類私有成員的測試與驗證。理想情況下,我們希望在測試中,類中所有的資料與方法都是可以訪問的 而在產品 中,只暴露實現定義好的介面。gtest官方文件中,也提到了對私有成員的處理,方法不外乎兩種 一是使用friend關鍵字,騙...