温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Qt配置使用Google Test

发布时间:2020-05-31 10:52:47 来源:网络 阅读:4554 作者:chengarm 栏目:编程语言

        Google Test(简称gtest)是一个比较出名的单元测试工具,用来进行单元模块的测试很方便。查了一下网上的博客,发现多数讲的都是gtest在vs上的配置,并没有在Qt上的配置,本篇主要讲解如何配置Qt Creator使用的gtest环境。


一、安装下载

        这里就不多讲,Qt安装,百度一大把。这里需要从GitHub上下载gtest的源码。


二、使用Qt Creator进行编译

        把代码下载完成以后,gtest代码目录如下

Qt配置使用Google Test

        这里我们只需要使用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文件夹拷贝到工程目录下。

    Qt配置使用Google Test


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(); }


运行结果如图

Qt配置使用Google Test



需要注意的是,debug的话,会出现错误,release则没有问题。


运行结果如下。

Qt配置使用Google Test



向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI