VS2019使用gtest

GoogleTest测试框架介绍(一)_liitdar的博客-CSDN博客_goole test

  • 术语

    test/test case/test suit

    Meaning GoogleTest Term ISTQB Term
    Exercise a particular program path with specific input values and verify the results TEST() Test Case
    A set of several tests related to one component Test Case Test Suite
  • 断言

    • 严重程度分类

      • ASSERT_* :当断言失败时,产生致命错误,并终止当前函数;

      • EXPECT_* :当断言失败时,产生非致命错误,并且不会终止当前函数。

    • 断言参数分类

      • 基本断言

      • 二元断言

      • 字符串断言

GoogleTest测试框架介绍(二)_liitdar的博客-CSDN博客_google test框架

  • TEST()

    参数为test case名称和test名称。断言参数为函数和结果。

    // 此函数用于判断入参是否为正整数:如果是,则返回0;否则,返回-1
    int Positive(int nNum)
    {
    if (nNum > 0)
    {
    return 0;
    }
    else
    {
    return -1;
    }
    } // 测试入参2是否为正整数
    TEST(PositiveTest, HandlesPositiveInput)
    {
    EXPECT_EQ(Positive(2), 0);
    }
  • TEST_F()

    在同一个TEST_F里生成和使用同一个Test Fixture对象。参数为类名test名称。

    // 定义测试类FooTest
    class FooTest: public testing::Test {
    protected:
    // Code here will be called immediately after the constructor (right before each test)
    void SetUp()
    {
    m_nTarget = 5;
    } // Code here will be called immediately after each test (right before the destructor)
    void TearDown()
    {
    } public:
    int IsLargeThan5(const int & nNum);
    int m_nTarget;
    }; // 判断入参是否大于5:如果是,则返回0;否则返回-1
    int FooTest::IsLargeThan5(const int & nNum)
    {
    if (nNum > m_nTarget)
    {
    return 0;
    }
    else
    {
    return -1;
    }
    } TEST_F(FooTest, HandlesInput6)
    {
    EXPECT_EQ(IsLargeThan5(6), 0);
    }

Googletest 入门 - 简书 (jianshu.com)

玩转Google开源C++单元测试框架Google Test系列(gtest)(总) - CoderZh - 博客园 (cnblogs.com)

GoogleTest User’s Guide | GoogleTest

单元测试成神之路——C++篇 – wanziの遇笺 (zhangyuyu.github.io)

注意:确保安装时安装了gtest,并且扩展中启用了gtest。我就是在扩展中禁用了,新建项目找不到gtest,哭哭。

VS2019使用gtest的更多相关文章

  1. GTest Google的一种白盒单元测试框架 开源项目

    GTest为google开源的白盒单元测试跨平台测试框架,含丰富的断言.类型参数化测试.死亡测试.以及其他的测试选项设置.文件保存等,以下将对该项目C++的实现进行简要的分析,作为学习记录备份. 基本 ...

  2. Google C++单元测试框架---Gtest框架简介(译文)

    一.设置一个新的测试项目 在用google test写测试项目之前,需要先编译gtest到library库并将测试与其链接.我们为一些流行的构建系统提供了构建文件: msvc/ for Visual ...

  3. ROS系统C++代码测试之gtest

    1. 安装gtestsudo apt-get install libgtest-dev 2.修改CMakeLists.txtfind_package(GTest REQUIRED)uncommend ...

  4. gTest详解

    1. 安装使用 1.1 安装 在https://code.google.com/p/googletest/ 下载源码 进入msvc, 注意编译方式, 如果是dll, 选择 gtest-md 编译生成l ...

  5. google gtest window 平台应用

    下载gtest:https://code.google.com/p/googletest/downloads/detail?name=gtest-1.7.0.zip 编译: 会出现的问题:error ...

  6. gtest学习一:在vs2013中搭建gtest环境

    gtest版本:1.7.0,在哪里下载源码就不说了,网上太多了~ 配置过程: 1.下载解压后,进入googletest/msvc目录,直接打开gtest.sln,发现有四个工程:gtest.gtest ...

  7. C++单元测试 之 gtest -- 组合数计算.

    本文将介绍如何使用gtest进行单元测试. gtest是google单元测试框架.使用非常方便. 首先,下载gtest (有些google项目包含gtest,如 protobuf),复制目录即可使用. ...

  8. gtest 1.7编译错误:std:tr1:tuple模板参数过多的解决方案

    在gtest/gtest.h文件中添加如下代码 #define _VARIADIC_MAX 10

  9. gtest

    一.安装配置 1.简介 2.安装 下载地址: https://code.google.com/p/googletest/downloads/list 解压安装: unzip gtest-1.7.0.z ...

  10. gtest vs2015配置

    1. 下载gtest https://github.com/google/googletest 2. 解压文件 使用vs2015 打开googletest-master\googletest\msvc ...

随机推荐

  1. Spring Boot 防止接口被恶意刷新、暴力请求

    ​在实际项目使用中,必须要考虑服务的安全性,当服务部署到互联网以后,就要考虑服务被恶意请求和暴力攻击的情况,下面的教程,通过Spring Boot提供的HandlerInterceptor和Redis ...

  2. Redis 源码解读之 Rehash 的调用时机

    Redis 源码解读之 Rehash 的调用时机 背景和问题 本文想要解决的问题 什么时机触发 Rehash 操作? 什么时机实际执行 Rehash 函数? 结论 什么时机触发 Rehash 操作? ...

  3. 跳板攻击之:dns2tcp

    跳板攻击之:dns2tcp 目录 跳板攻击之:dns2tcp 1 dns2tcp简介 2 dns2tcp 食用说明 2.1 dns2tcpd 服务端 2.1.1 服务端参数说明 2.1.2 配置文件 ...

  4. 在真实世界中观察目标治疗策略实施1年对初诊RA患者的影响

    在真实世界中观察目标治疗策略实施1年对初诊RA患者的影响 Tan AL, et al. Rheumatology 2016.Present ID: 083. 背景:制订目标治疗(T2T)建议是要将获得 ...

  5. Vue学习笔记之Vue-CLI快速使用

    1. 概述 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,提供: 通过 @vue/cli 实现的交互式的项目脚手架. 通过 @vue/cli + @vue/cli-service- ...

  6. 【必看】RuoYiVuek框架-数据源动态新增、配置如此简单!

    应用场景 系统用户只能访问系统配置的数据源(可动态新增修改的) RuoYi Vue 框架源码 点我跳转 实现方式 1.系统提供 Yml文件配置 + Druid加载数据源 + @DataSource注解 ...

  7. unity编辑器相机投影,正交切换

    正常情况投影相机 切换成正交相机时,此时编辑器向前移动会如图所示被截断

  8. 红米手机LineageOS Root(实操)

    https://magiskcn.com/ 机型:红米note8 采用Magisk进行root,LineageOS官网的suroot包不会玩,安装失败 从LineageOS系统包中解压出boot.im ...

  9. docker 部署mongodb 并建立用户和授权数据库

    docker pull mongo:4.4.8 (拉取镜像) docker run --name mongo -v /data/mongo-data:/data/db -p 27018:27017 - ...

  10. docker、Containerd ctr、crictl 区别

    简述 作为接替 Docker 运行时的 Containerd 在早在 Kubernetes1.7 时就能直接与 Kubelet 集成使用,只是大部分时候我们因熟悉 Docker,在部署集群时采用了默认 ...