gtest測試框架

2021-09-25 02:14:53 字數 2724 閱讀 8001

gtest測試框架,搭建參考 :

2.進入 googletest-1.8.0/googletest/, 刪除不需要的檔案,完成後:

sample目錄下只保留sample1*檔案,完成後make得到gtest.a和gtest_main.a和testbin。

gtest.a是不帶main函式的庫,需要自己寫用於測試的 main.cpp,gtest_main.a使用src目錄下的main函式,自己**中只需要寫個test()單元測試檔案。

3.然後假使我們的**在~/mycode/目錄下,包含abc.c和abc.cpp。那麼我們可以寫test()單元測試檔案 test_abc.cpp 測試abc介面,然後在gtest目錄下將上面makefile中user_dir指定到~/mycode/,即可編譯執行測試。

或者我們在~/mycode/目錄下, 除了寫 test() 單元測試檔案test_abc.cpp 外,再寫乙個main.cpp(仿照 src/gtest_main.cpp)負責執行gtest框架,然後make(makefile如下)

module_bin = main_test

module_objs += $(patsubst %.cpp,%.o ,$(wildcard ./*.cpp))

#module_srcs = $(shell find . -name "*.cpp")

#module_objs += $(patsubst %.cpp,%.o ,$(module_srcs))

cc = g++

out_dir = .

public_flags:=-g -o0 -wall

ldflags = -lm -lz -lpthread

module_include = -i.

module_include += -i../googletest-release-1.8.0/googletest/include

%.o: %.cpp

$(cc) $(public_flags) $(module_include) -c $< -o $@

all : clean $(module_objs)

$(cc) $(module_objs) ../googletest-release-1.8.0/googletest/gtest.a $(public_flags) $(ldflags) -o $(out_dir)/$(module_bin)

clean:

-rm -f $(out_dir)/$(module_bin)

-rm -f $(module_objs)

4.開始測試,./main_test --gtest_list_tests, ./main_test --gtest_filter=***.***

後續學習可以參考這個 

測試框架之GTest

gtest用法和cppunit用法差不多,個人比較習慣gtest,使用比cppunit方便些。主要通過巨集test f定義測試用例,通過expect 系列和assert 系列巨集進行檢測。1 原始碼編譯 2 建立乙個測試工程,將gtest include新增到頭檔案路徑中。include資料夾可拷貝...

谷歌測試框架gtest

簡單使用可以參考中的windwos示例。批量執行case,如下示例 單元測試case,可以是乙個介面的一系列測試case 2017 05 19 cwp demo.h ifndef demo h define demo h include gtest gtest.h class testdemo pu...

gtest測試框架使用詳解 GTest常用斷言

gtest 是一套用於編寫c 測試的框架,支援很多好用的特性,包括自動識別測試 豐富的斷言 生成報告等。gtest 斷言是類似於函式呼叫的巨集。經常使用斷言來測試類或函式的功能。當斷言失敗時,gtest則列印出斷言所在的檔案 行號,以及失敗資訊。判斷實際結果與預期結果是否相符的機制稱為斷言。gtes...