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. 硬件协议之i2c

    https://blog.csdn.net/ctyqy2015301200079/article/details/83830326  (此文章可能有误) 从目前来看,所有读写操作(包括ACK的读写)都 ...

  2. 【KAWAKO】RNNoise-将模型做成接口并交叉编译到RK3308上

    目录 做成接口 rnnoise_inference.h rnnoise_inference.cpp 使用方法(主要部分) 交叉编译 编译出动态链接库 使用编译出的动态链接库进行推理 做成接口 RNNo ...

  3. GPS地图生成01之概述

    图片来源: Author: Tang Email: jianbo.tang@csu.edu.cn

  4. Spark 要点总结及优化

    Spark Components:  角色组成: Driver :  由SparkContext创建,运行在main方法,负责资源申请与调度,程序分发,接收每个分区的计算结果 Cluster mana ...

  5. 9.增加Marker 标记

    1 <!DOCTYPE html> 2 <html lang="zh"> 3 <head> 4 <meta charset="U ...

  6. Word11 工程学院讲师论文office真题

    1.根据题目一的要求,打开素材文件,点击[文件]-[另存为],选择[当前文件夹],命名为Word. 2.根据题目二的要求,根据提供的参考样式,打开Word的文档,在[布局]里点击[页面设置]的右下角, ...

  7. C++标准库string学习笔记

    string概述 作为c++语言用作字符串处理的标准库,和Python字符串类型有较多相似之处.可以使用'='进行赋值,"=="来比较,"+"进行拼接. 构造函 ...

  8. 面向对象继承---复习:包含继承关系,里氏转换,ArrayList与Hashtable集合,文件处理

    using System; using System.Collections; using System.Collections.Generic; using System.IO; using Sys ...

  9. ubuntu18 电脑重启后登录后无法进入桌面

    ubuntu18 电脑重启后登录后无法进入桌面 应该是ubuntu桌面管理器gdm3和nvidia驱动冲突导致的 解决办法: 首先卸载已有的nvidia驱动 注意:在下载完驱动后,此时电脑没有驱动文件 ...

  10. mysql使用经验

    1.mysql建表主键,如果整数,用bigint而不用int 2.执行sql加最大执行时间 /*+ max_execution_time(60000)*/ 3.sql中避免offset过大,查询不出来