Google Test(簡稱gtest)是一個比較出名的單元測試工具,用來進行單元模塊的測試很方便。查了一下網上的博客,發現多數講的都是gtest在vs上的配置,并沒有在Qt上的配置,本篇主要講解如何配置Qt Creator使用的gtest環境。
一、安裝下載
這里就不多講,Qt安裝,百度一大把。這里需要從GitHub上下載gtest的源碼。
二、使用Qt Creator進行編譯
把代碼下載完成以后,gtest代碼目錄如下
這里我們只需要使用googletest文件夾下的內容,其他的暫時沒有使用,后續用到時,再進行分析。
在googletest文件夾下新建一個gtest.pro文件,主要包括gtest的頭文件和源文件
QT -= gui TARGET = gtest TEMPLATE = lib CONFIG = staticlib INCLUDEPATH += ./include #DEFINES += QT_DEPRECATED_WARNINGS SOURCES += src/gtest.cc \ src/gtest_main.cc \ src/gtest-all.cc \ src/gtest-death-test.cc \ src/gtest-filepath.cc \ src/gtest-port.cc \ src/gtest-printers.cc \ src/gtest-test-part.cc \ src/gtest-typed-test.cc
然后使用Qt Creator打開gtest.pro。然后進行編譯,最后生成的gtest.lib就是我們需要的庫文件
三、使用gtest
新建一個測試工程,將gtest.lib和include文件夾拷貝到工程目錄下。
gtest_test.pro
TEMPLATE = app CONFIG += console c++11 CONFIG -= app_bundle CONFIG -= qt INCLUDEPATH += ./include SOURCES += main.cpp LIBS += -L$$PWD/lib/ -lgtest
main.cpp
#include <iostream> #include "gtest/gtest.h" using namespace std; int Factorial(int n) { int result = 1; for (int i = 1; i <= n; i++) { result *= i; } return result; } TEST(Factorial, Empty) { EXPECT_EQ(1, Factorial(1)); } int main(int argc, char* argv[]) { testing::InitGoogleTest(&argc,argv); return RUN_ALL_TESTS(); }
運行結果如圖
需要注意的是,debug的話,會出現錯誤,release則沒有問題。
運行結果如下。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。