簡介
Google Test,也稱為gtest,是基于xUnit架構(gòu)的用于C ++編程語言單元測試的庫。它可以在各種POSIX和Windows平臺上進(jìn)行編譯,在修改少量源代碼的情況下,對C和C++程序進(jìn)行單元測試。其調(diào)試過程非常具體,滿足了許多程序員和編碼人員的需要。
配置安裝流程
1.配置編譯工具
1)編譯Google Test需要cmake 2.6版本及以上,安裝cmake。
yum install -y cmake
2)查看cmak版本號。
cmake --version
回顯內(nèi)容如下:
cmake version 2.8.12.2
2.獲取源代碼
執(zhí)行以下命令,獲取Google Test軟件包。
wget https://github.com/google/googletest/archive/release-1.5.0.tar.gz
3.編譯源代碼
1)解壓軟件包。
tar -zxvf release-1.5.0.tar.gz
2)進(jìn)入OpenLDAP的安裝目錄。
cd release-1.5.0
3)生成Makefile文件。
cmake ./
4)生成Makefile文件后,執(zhí)行make命令編譯安裝Google Test。
5)若編譯安裝成功,在當(dāng)前目錄會生成一個“libgtest.a”靜態(tài)庫。
4.測試已完成編譯的軟件
1)創(chuàng)建一個“test.cpp”文件,并添加如下內(nèi)容。
#include<gtest/gtest.h>
#include<stdio.h>
int my_function(void){
printf("I AM A TEST!\n");
return 1;
}
TEST(my_function,test){
ASSERT_EQ(1,my_function());
}
int main(int argc, char *argv[]){
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
2)添加gcc-c++編譯器所使用到的“INCLUDE”與“LIB”環(huán)境變量。
a.添加環(huán)境變量。
當(dāng)前目錄下有一個“include”目錄,“include”目錄是編譯器查找頭文件的路徑,將該路徑添加到環(huán)境變量中。
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/root/google-test/googletest-release-1.5.0/include/
b.將當(dāng)前目錄下的“libgtest.a”靜態(tài)庫復(fù)制到系統(tǒng)路徑“/usr/lib”上,或在該目錄下創(chuàng)建一個指向該靜態(tài)庫的軟鏈接。
ln -s /root/google-test/googletest-release-1.5.0/libgtest.a /usr/lib/libgtest.a
3)編譯“test.cpp”文件,生成“test.o”文件。
g++ -c test.cpp
4)鏈接靜態(tài)庫,生成可執(zhí)行文件“a.out”。
g++ test.o libgtest.a -lpthread
5)執(zhí)行“a.out”程序,進(jìn)行測試。
./a.out
回顯內(nèi)容如下,表示測試正常。
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from my_function
[ RUN ] my_function.test
I AM A TEST!
[ OK ] my_function.test (0 ms)
[----------] 1 test from my_function (0 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (0 ms total)
[ PASSED ] 1 test.