返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++测试框架GoogleTest怎么配置
  • 952
分享到

C++测试框架GoogleTest怎么配置

2023-07-05 20:07:14 952人浏览 泡泡鱼
摘要

今天小编给大家分享一下c++测试框架GoogleTest怎么配置的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。简单介绍来看看

今天小编给大家分享一下c++测试框架GoogleTest怎么配置的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

简单介绍

来看看谷歌官方是怎么介绍这个框架的:

Googletest 是由测试技术团队根据 Google 的特定要求和约束开发的测试框架。无论您是在 linuxwindows 还是 Mac 上工作,如果您编写 C++ 代码,googletest 都可以为您提供帮助。它支持任何类型的测试,而不仅仅是单元测试。

虽然谷歌是根据特定的需求和限制条件来开发这个框架的,但是它自己也指明了这个框架还可以用于其它用途,比如作为模拟器使用,当然这就扯远了,暂且不提。

谷歌在开发这套框架的时候,是有一套基本的设计思路的。

他们认为测试应该是相互独立而且是可重复的。如果正在做的测试由于其他测试的成功或失败而受到影响,这无疑会令人感到痛苦。GoogleTest 通过在不同的对象上运行不同的测试来实现测试的相互隔离。当其中一个或多个测试失败时,测试框架还允许测试者继续单独运行测试用例以达到快速调试。测试应该组织良好,并反映测试代码的结构。有很多测试其实可以共享数据和子例程的,那么 Googletest 提供了测试套件的概念将相关测试分组,测试套件中的所有测试就可以共享数据和子例程了。这种模式其实很常见,并且使得测试易于维护,特别是当你需要切换到新的代码工程时,测试流程将极大简化。

像谷歌这种规模的科技企业,内部的 C++ 项目非常之多,还是跨平台的,那么就对测试框架有平台无关的要求了。GoogleTest 正是如此,无论你是用的是那款编译器,哪个平台,通吃。

当然,测试的过程中理应提供尽可能全面的信息帮助开发者理解执行软件过程,GoogleTest 也不例外。就算测试过程中,某个测试执行失败被停止了,测试框架也会继续其它测试。如果你不希望某个测试由于失败而停止,可以设置该测试为非致命报错(non-fatal)。像这样的测试过程,可以帮助开发者在单个运行-编辑-编译周期中找到尽可能多的问题 bug。这样的测试框架是不是很高效?

虽说问题 bug 出现就够令开发者讨厌的了,但是自测过程的繁琐事那就更糟心了(头发怎么掉得那么快),比如,开发者除了需要测试具体内容还得自己跟踪测试清单。Googletest 就可以帮助你从这里边脱身出来,做一枚潇洒的码农。

这里问一句,你用过 JUnit 或 PyUnit 吗?如果有的话,那么 Googletest 对你来说真的是易如反掌了。据说 Googletest 是基于 xUnit 架构开发而来。至于什么是 xUnit 架构,有机会我再聊聊吧。

测试框架在测试过程中,基本的测试操作就是使用断言(assert)来验证测试代码的行为,崩溃或者断言失败都表示被测试代码的行为不正确,否则正确。

初体验

来看一下简单的测试样例(环境配置安装会在后面有详细介绍)

#include <math.h>#include <gtest/gtest.h>int square(const int a){    int b = a * a;    if (b != b) {        return -1;    } else {        return a * a;    }}TEST(SquareTest, PositiveNos) {     ASSERT_EQ(0, square(0));    ASSERT_EQ(36, square(6));    ASSERT_EQ(324, square(18));}int main(int arGC, char **argv){    testing::InitGoogleTest(&argc, argv);    return RUN_ALL_TESTS();}

这个测试样例是为了测试函数 int square(const int a) 的行为是否正确。

编译生成可执行文件之后,运行起来

C++测试框架GoogleTest怎么配置

可以看到,上面总共有一个测试套件和一个测试。首先启动一次全局测试环境,使用框架提供的宏 TEST() 创建了一个测试套件,命名为 SquareTest,和一个测试,命名为 PositiveNos。然后,运行测试套件内包含的所有测试,测试通过 OK。全部测试结束后,卸载全局测试环境。汇总全部测试结果 PASSED。测试流程结束。

以上就是“C++测试框架GoogleTest怎么配置”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网其他教程频道。

--结束END--

本文标题: C++测试框架GoogleTest怎么配置

本文链接: https://lsjlt.com/news/355269.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C++测试框架GoogleTest怎么配置
    今天小编给大家分享一下C++测试框架GoogleTest怎么配置的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。简单介绍来看看...
    99+
    2023-07-05
  • C++ 测试框架GoogleTest入门介绍
    目录引言简单介绍初体验 引言 开发者虽然主要负责工程里的开发任务,但是每个开发完毕的功能都是需要开发者自测通过的,所以经常会听到开发者提起单元测试的话题。那么今天我就带大伙一起来看...
    99+
    2023-05-14
    C++ 测试框架GoogleTest C++ 测试框架入门
  • google c++程序测试框架googletest使用教程详解
    目录什么是googletest?googletest简介谁在使用 GoogleTest?相关开源项目googletest的下载与编译cmake gui编译在vs2019中使用...
    99+
    2024-04-02
  • Android下Junit测试框架配置
      我们的业务代码一般是放在一个新的包下面,这个业务类不能够通过右键run as java application,因为android项目只能运行在手机上的dalvak虚拟...
    99+
    2022-06-06
    junit 框架 Android
  • 怎么测试JavaScript框架库jQuery
    本篇内容介绍了“怎么测试JavaScript框架库jQuery”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  测试JavaScript框架...
    99+
    2023-06-02
  • Python测试框架pytest怎么使用
    这篇文章主要介绍了Python测试框架pytest怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python测试框架pytest怎么使用文章都会有所收获,下面我们一起来看看吧。一、Pytest简介Pyt...
    99+
    2023-06-29
  • Python的pytest测试框架怎么用
    今天小编给大家分享一下Python的pytest测试框架怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。pytest 可...
    99+
    2023-06-27
  • C#中常见的测试框架和单元测试问题
    C#中常见的测试框架和单元测试问题,需要具体代码示例引言:在软件开发过程中,测试是一个至关重要的环节。通过测试,我们可以确保代码的质量和稳定性,提高应用程序的可靠性和可维护性。C#是一种广泛应用于软件开发的编程语言,因此需要了解C#中常见的...
    99+
    2023-10-22
    测试框架: NUnit 测试框架: MSTest 单元测试问题:断言错误
  • 单元测试框架Jest搭配TypeScript的安装与配置方式
    目录分步指南1. 安装jest2. 初始化3. 安装jsdom环境 4. 创建test目录5. 愉快地开始单元测试6. 总结 - 踩坑记录为项目安装并配置Jest单元测试环...
    99+
    2023-01-28
    单元测试框架Jest TypeScript安装 TypeScript安装配置
  • .Net性能测试框架Crank怎么使用
    这篇文章主要介绍“.Net性能测试框架Crank怎么使用”,在日常操作中,相信很多人在.Net性能测试框架Crank怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”.Net性能测试框架Crank怎么使用...
    99+
    2023-06-21
  • C#中如何使用单元测试框架进行自动化测试
    C#中如何使用单元测试框架进行自动化测试引言:在软件开发过程中,自动化测试是一个非常重要的环节。通过编写和运行测试代码,可以帮助我们验证和确保代码的正确性和稳定性。在C#开发中,我们可以使用单元测试框架来实现自动化测试。本文将介绍C#中常用...
    99+
    2023-10-22
    自动化测试 C# 单元测试
  • 常用的c++单元测试框架有哪些
    常用的C++单元测试框架有以下几个:1. Google Test:由Google开发的C++单元测试框架,功能强大且易于使用,支持参...
    99+
    2023-10-27
    c++
  • Python测试框架内容是什么
    本篇内容主要讲解“Python测试框架内容是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python测试框架内容是什么”吧!下面进行有效的说明一下Python测试框架,Python是一种解...
    99+
    2023-06-17
  • 安全框架Shiro怎么配置
    这篇文章主要介绍“安全框架Shiro怎么配置”,在日常操作中,相信很多人在安全框架Shiro怎么配置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”安全框架Shiro怎么配置”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-26
  • Java微基准测试框架JMH怎么使用
    使用Java微基准测试框架JMH需要按照以下步骤进行:1. 创建一个Java项目,并将JMH依赖添加到项目的构建文件中(例如,Mav...
    99+
    2023-09-22
    Java JMH
  • Lasagne框架中怎么评估和测试模型
    在Lasagne框架中,可以使用Theano库提供的工具来评估和测试模型。以下是一些评估和测试模型的常用方法: 计算准确率:使用T...
    99+
    2024-04-02
  • oracle中怎么配置及测试TAF
    这篇文章主要介绍“oracle中怎么配置及测试TAF”,在日常操作中,相信很多人在oracle中怎么配置及测试TAF问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”oracle...
    99+
    2024-04-02
  • 开源的性能测试框架p-unit怎么用
    本篇文章为大家展示了开源的性能测试框架p-unit怎么用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。认识p-unit:一款开源的性能测试框架p-unit 是一款开放源码的性能测试框架,和 JUni...
    99+
    2023-06-03
  • springboot logback日志框架怎么配置
    本篇内容介绍了“springboot logback日志框架怎么配置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!logback既可以通过a...
    99+
    2023-06-30
  • Java 重试框架 Sisyphus 配置的两种方式
    目录1、函数式配置概览1.1 默认配置2、方法说明2.1 condition2.2 retryWaitContext2.3 maxAttempt2.4 listen2.5 recov...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作