華為云計算 云知識 Google Test是什么
Google Test是什么

簡介

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.