【注】在 GTest的安裝與使用 (https://www.cnblogs.com/helloworldcode/p/9606838.html) 的基礎(chǔ)上進(jìn)行了小部分修改補充
下載gtest,release-1.8.0
?????? git clone https://github.com/google/googletest
gtest編譯
cd googletest
生成Makefile文件(先安裝cmake喜爷,ubuntu系統(tǒng):apt install cmake, windows系統(tǒng):下載cmake-3.18.4-win32-x86.zip,解壓并將其中的bin目錄文件拷貝到mingw32/bin目錄下宵蕉,share目錄文件拷貝到mingw32/share目錄下)花吟,繼續(xù)輸入命令編譯:
ubuntu系統(tǒng): ??? cmake CMakeLists.txt
windows系統(tǒng): ? cmake -G"MinGW Makefiles"-DCMAKE_CXX_FLAGS=-std=c++11
執(zhí)行make,生成兩個靜態(tài)庫:libgtest.a libgtest_main.a
ubuntu系統(tǒng): make
windows系統(tǒng):????? mingw32-make
拷貝到系統(tǒng)目錄,注意寒矿,如果下述目錄位置在不同版本位置有變動,用find . -name "libgtest*.a"?找到位置
ubuntu系統(tǒng):
?????? cp ./lib/libgtest*.a? /usr/lib
cp –r ./googletest/include/gtest /usr/include/
windows系統(tǒng):
???? IDE上配置gtest庫名若债、庫搜索路徑和頭文件搜索路徑
檢查是否安裝成功
可以寫一個簡單的測試代碼如下:
#include<gtest/gtest.h>
int add(int a,int b){
? ? return a+b;
}
TEST(testCase,test0){
? ? EXPECT_EQ(add(2,3),5);
}
int main(int argc,char**argv){
? testing::InitGoogleTest(&argc,argv);
? return RUN_ALL_TESTS();
}
在該文件的終端輸入編譯指令:
???????? $ g++ -o sample sample.cpp -lgtest -lpthread
???????? $ ./sample
即得到如下顯示結(jié)果:
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from testCase
[ RUN? ? ? ] testCase.test0
[? ? ? OK ] testCase.test0 (0 ms)
[----------] 1 test from testCase (0 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (0 ms total)
[? PASSED? ] 1 test.
參考:
1. cmake-3.18.4-win32-x86.zip下載地址
https://cmake.org/files/v3.18/cmake-3.18.4-win32-x86.zip
https://www.cnblogs.com/helloworldcode/p/9606838.html
https://www.cnblogs.com/fyly/articles/10667782.html
4. 在mingw項目中引入googletest
https://blog.csdn.net/vinson0526/article/details/50829715