Google Test 使用筆記

2021-08-25 19:45:36 字數 1293 閱讀 1562

編譯gtest

使用vs2015開啟gtest.sln(我的是在目錄googletest-master\googletest\msvc\2010下)

在debug、release兩個模式下都編譯一下。編譯後,在msvc/gtest/下有debug、release兩個資料夾。(編譯器報「不是有效的win32應用程式」是正常現象)

建立測試專案

展開「c/c++——**生成」,在「執行庫」中進行修改,這裡的值應該和編譯gtest時使用的值一致即可。

之後就可以編寫你的第乙個測試程式了。

vs2015搭建googletest框架–配置第乙個專案

vs2015搭建googletest框架–配置第乙個專案 斷言

對檢查點的檢查:

1. expect_*  失敗時,案例繼續往下執行。

2. assert_* 失敗時,直接在當前函式中返回,當前函式中assert_*後面的語句將不會執行。

事件機制

gtest提供了多種事件機制,非常方便我們在案例之前或之後做一些操作。總結一下gtest的事件一共有3種:

全域性的,所有案例執行前後。

testsuite級別的,在某一批案例中第乙個案例前,最後乙個案例執行後。(應該是乙個testcase物件執行前後執行)

testcase級別的,每個testcase前後。(應該是乙個testcase物件中每個test物件的執行前後執行)

通過繼承test類,使用test_f巨集,我們可以在案例之間共享一些通用方法,共享資源。使得我們的案例更加的簡潔,清晰。

引數化不用指定每個特殊值

死亡測試

測試程式是否會在某些輸入的條件下如期掛了

執行引數

深入解析gtest

總結一下gtest裡的幾個關鍵的物件:

unittest 單例,總管整個測試,包括測試環境資訊,當前執行狀態等等。

unittestimpl unittest內部具體功能的實現者。

test 我們自己編寫的,或通過test,test_f等巨集展開後的test物件,管理著測試案例的前後事件,具體的執行**testbody。

testcase 測試案例物件,管理著基於testcase的前後事件,管理內部多個testinfo。

testinfo 管理著測試案例的基本資訊,包括test物件的建立方法。

testinfoimpl testinfo內部具體功能的實現者 。

使用乙個鍊錶結構儲存testcase物件。

參考:玩轉google開源c++單元測試框架google test系列(gtest)之一 - 初識gtest

googleTest安裝和使用

環境 windows7 vs2013 一 安裝 2.解壓googletest,目錄googletest msvc 下是visual studio的工程檔案,使用vs開啟,分別用debug和release模式編譯 3.編譯完成後進入googletest msvc gtest 資料夾下,有debug和r...

Vim 使用筆記

set hlsearch set nohlsearch 搜尋後清除上次的加亮 nohl nohlsearch 拷貝 很有用的一句話,規定了格式選項,讓它換行不自動空格 set formatoptions tcrqn set fo r set noautoindent 再 shift insert 正...

xemacs使用筆記

xemacs使用筆記 xemacs emacs的下一代,由lucid原創 from debian參考手冊.由於不知道什麼時候刪掉了emacs的乙個重要檔案.每次都沒法安裝好.突然發現了xemacs,於是決定使用看看.本人還是菜鳥,僅供交流 我使用的ubuntu系統,所以就直接apt get inst...