ubuntu開啟terminal
#download source
cd googletest-release-1.7.0
cmake -dbuild_shared_libs=on.
make
(參考**
我們以測試乙個階乘函式為例,首先準備待測試原始碼,然後構建gtest程式
在新的terminal
#回到當前的使用者根目錄
cd#新建資料夾 demo_test
mkdir demo_test
cd demo_test
#新建空白原始檔
touch frac.h frac.cpp test_main.cpp cmakelists.txt
copy 到對應檔案
#ifndef frac_h
#define frac_h
int frac(int ninput);
#endif
#include#include"frac.h"
int frac(int x)
int f = 1;
for(int i = 1; i <= x; i++)
return f;
}
#include "frac.h"
#include //test 是 gtest的巨集
test(frac_test, input_negative)
test(frac_test, input_zero)
test(frac_test, input_positive)
int main(int argc, char **argv)
cmakelists.txt的內容
cmake_minimum_version_required(2.8.3)
project(test_pro)
set(src_list test_main.cpp frac.cpp)
add_definition(-std = c++11)
set(cmake_cxx_standard 11)
add_executable(test_exe src_list)
include_directories(/home/name/exercise/gtest_demo
/home/name/googletest-release-1.7.0/include)
target_link_libraries(test_exe
/home/name/googletest-release-1.7.0/libgtest_main.so
/home/name/googletest-release-1.7.0/libgtest.so)
然後,進入demo_test資料夾下,
mkdir build
cd build
cmake ..
make
./test_exe
(參考源自:
test()與test_f()可分別用於測試函式、類。
//構建test_name下的第乙個測試sort1
test(, )
//*是待填的,常用:eq(equal)nq(not equal) lt(less than) gt(great than) le(less than or equal) ....
test(, )
test_f(fixture)需要定義測試類
它要繼承自::testing::test, 在類中放置一些要測試的類的例項,然後完成test_f。
在測試工程檔案中
int main(int argc, char ** argv)
assert或expect判斷條件針對binary結果
還有單獨測試string變數的,高階用法參考gtest doc中的google prime
另外,比較大小是有精度限制的,如果要精確比較浮點數大小,assert可以選擇near
可以設定跳過一些test, 在test_name前加disable_
gtest快速入門
解壓,進入該目錄,按reame說明 安裝 1.5之前 make install可以安裝,1.6之後不可以。安裝可按readme裡的提示進行安裝 a g i.include i.c src gtest all.cc 注意,i後沒有空格,直接加.b ar rv libgtest.a gtest all....
c 測試框架gtest的入門
第一次接觸和使用c 的測試框架,在這裡記錄一下 我是在linux中的clion下使用的 參考資料 我下這個版本的 需要進入目錄 cmake一下,生成靜態庫檔案.a 參考這篇 實現 不用全部拖進去,只要我們需要的部分就可以了,兩個.a是cmake之後的產物,也要加入 cmake minimum req...
gtest測試框架使用詳解 GTest常用斷言
gtest 是一套用於編寫c 測試的框架,支援很多好用的特性,包括自動識別測試 豐富的斷言 生成報告等。gtest 斷言是類似於函式呼叫的巨集。經常使用斷言來測試類或函式的功能。當斷言失敗時,gtest則列印出斷言所在的檔案 行號,以及失敗資訊。判斷實際結果與預期結果是否相符的機制稱為斷言。gtes...