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,哭哭。

最新文章

  1. jGestures: jQuery的手势事件插件
  2. 使用Hibernate SQLQuery(转)
  3. uva11426 gcd、欧拉函数
  4. selenium操作浏览器cookie方法
  5. ie8默认主页/起始页无法修改
  6. php中json_decode()和json_encode()的使用方法
  7. 《linux内核设计与实现》读书笔记第五章——系统调用
  8. sqlserver 索引
  9. 多窗体之间方法调用 z
  10. 用APK Downloader直接从Google Play上下载apk
  11. iOS7——图像资源Images Assets
  12. 欧几里得算法求最大公约数(gcd)
  13. Greedy Change
  14. AntData.ORM框架 之 读写分离
  15. win-zabbix_agent端配置解析
  16. RazorEngine
  17. pytest 9 pytest-datadir读取文件信息
  18. CSS组合设计输入框和按钮生成自定义关键字查询栏
  19. [CQOI2018]异或序列
  20. Java 中断异常的正确处理方式

热门文章

  1. 学习ASP.NET Core Blazor编程系列二十六——登录(5)
  2. FPS 逆向 CS.起源 绘制 教程(下周完成笔记)
  3. 02Python输入输出
  4. Canvas:绘制多边形
  5. Tensorflow 1.X 在windows上的安装
  6. 一个ASP中的Base64加密 解密函数代码
  7. php正方形图片转成成圆形图片-GD
  8. Ubuntu命令安装默认支持的Qt5版本
  9. CF1768F 题解
  10. CF1738E Balance Addicts