編譯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...