首页 > 其他分享 >VS2019使用gtest

VS2019使用gtest

时间:2022-11-28 11:35:47浏览次数:64  
标签:断言 VS2019 int Test gtest TEST 使用 test

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,int,Test,gtest,TEST,使用,test
From: https://www.cnblogs.com/octoberkey/p/16931727.html

相关文章