热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[QtCratot]_0_0_googletest单元测试

篇首语:本文由编程笔记#小编为大家整理,主要介绍了[QtCratot]_0_0_googletest单元测试相关的知识,希望对你有一定的参考价值。[QtCrat

篇首语:本文由编程笔记#小编为大家整理,主要介绍了[QtCratot]_0_0_googletest单元测试相关的知识,希望对你有一定的参考价值。



[QtCratot]_0_0_googletest单元测试

创建时间:20210822 16:36:00



获得googletest工程


  • 下载googletest工程到本地
    • git clone https://github.com/google/googletest.git

创建QT测试工程


  • 添加BaseUtil的测试工程

  • 选择googletest框架和cmake/qmake管理工程, 推荐qmake

  • 执行验证


编写测试用例,及运行后的测试结果


项目整理:GoogleTest可以只留下使用的文件


  • 删除没有用的示例和文档来减少文件管理

    googletest
    ├── googlemock
    │ ├── include
    │ └── src
    └── googletest
    ├── include
    └── src

    googletest
    ├── googlemock
    │ ├── include
    │ │ └── gmock
    │ │ ├── gmock-actions.h
    │ │ ├── gmock-cardinalities.h
    │ │ ├── gmock-function-mocker.h
    │ │ ├── gmock.h
    │ │ ├── gmock-matchers.h
    │ │ ├── gmock-more-actions.h
    │ │ ├── gmock-more-matchers.h
    │ │ ├── gmock-nice-strict.h
    │ │ ├── gmock-spec-builders.h
    │ │ └── internal
    │ │ ├── custom
    │ │ │ ├── gmock-generated-actions.h
    │ │ │ ├── gmock-matchers.h
    │ │ │ ├── gmock-port.h
    │ │ │ └── README.md
    │ │ ├── gmock-internal-utils.h
    │ │ ├── gmock-port.h
    │ │ └── gmock-pp.h
    │ └── src
    │ ├── gmock-all.cc
    │ ├── gmock-cardinalities.cc
    │ ├── gmock.cc
    │ ├── gmock-internal-utils.cc
    │ ├── gmock_main.cc
    │ ├── gmock-matchers.cc
    │ └── gmock-spec-builders.cc
    └── googletest
    ├── include
    │ └── gtest
    │ ├── gtest-death-test.h
    │ ├── gtest.h
    │ ├── gtest-matchers.h
    │ ├── gtest-message.h
    │ ├── gtest-param-test.h
    │ ├── gtest_pred_impl.h
    │ ├── gtest-printers.h
    │ ├── gtest_prod.h
    │ ├── gtest-spi.h
    │ ├── gtest-test-part.h
    │ ├── gtest-typed-test.h
    │ └── internal
    │ ├── custom
    │ │ ├── gtest.h
    │ │ ├── gtest-port.h
    │ │ ├── gtest-printers.h
    │ │ └── README.md
    │ ├── gtest-death-test-internal.h
    │ ├── gtest-filepath.h
    │ ├── gtest-internal.h
    │ ├── gtest-param-util.h
    │ ├── gtest-port-arch.h
    │ ├── gtest-port.h
    │ ├── gtest-string.h
    │ └── gtest-type-util.h
    └── src
    ├── gtest-all.cc
    ├── gtest.cc
    ├── gtest-death-test.cc
    ├── gtest-filepath.cc
    ├── gtest-internal-inl.h
    ├── gtest_main.cc
    ├── gtest-matchers.cc
    ├── gtest-port.cc
    ├── gtest-printers.cc
    ├── gtest-test-part.cc
    └── gtest-typed-test.cc
    12 directories, 57 files

  • 项目整理:将GoogleTest的配置文件,直接写到pro文件中

    # GoogleTest配置
    isEmpty(GOOGLETEST_DIR)
    warning("Using googletest src dir specified at Qt Creator wizard")
    message("set GOOGLETEST_DIR as environment variable or qmake variable to get rid of this message")
    GOOGLETEST_DIR = ../googletest

    !isEmpty(GOOGLETEST_DIR):
    GTEST_SRCDIR = $$GOOGLETEST_DIR/googletest
    GMOCK_SRCDIR = $$GOOGLETEST_DIR/googlemock

    requires(exists($$GTEST_SRCDIR):exists($$GMOCK_SRCDIR))
    !exists($$GOOGLETEST_DIR):message("No googletest src dir found - set GOOGLETEST_DIR to enable.")
    DEFINES += \\
    GTEST_LANG_CXX11
    INCLUDEPATH *= \\
    $$GTEST_SRCDIR \\
    $$GTEST_SRCDIR/include \\
    $$GMOCK_SRCDIR \\
    $$GMOCK_SRCDIR/include
    SOURCES += \\
    $$GTEST_SRCDIR/src/gtest-all.cc \\
    $$GMOCK_SRCDIR/src/gmock-all.cc


推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
author-avatar
哲玲旭辉9
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有