zoukankan      html  css  js  c++  java
  • GoogleTest入门

    Googletest入门

    来源:https://github.com/google/googletest/blob/master/googletest/docs/primer.md

    P.S. gmock作为gtest的孪生兄弟,其通俗介绍可以看这篇:https://blog.csdn.net/wangjingqi930330/article/details/80525056

    简介:为啥用googletest

    用googletest是为了写更好的测试代码

    googletest是谷歌专门的测试框架团队开发的,跨平台,支持各种类型的测试。

    理念:

    1. 测试应当具备独立性可重复性
    2. 良好的组织
    3. 可移植可重用
    4. 如果fail则提供尽可能多的信息
    5. 让用户专注于测试内容,避免做“家务活”
    6. 用起来快,不同的test之间相互共享着用,稍微改一下就能跑

    术语说明

    International Software Testing Qualifications Board (ISTQB)用的术语,和googletest里不一样。

    ISTQB/课本 GoogleTest老版本 GoogleTest新版本
    Test Suite Test Case TestSuite
    Test Case Test Test

    基本概念

    Assertions

    使用ASSERT_XXX()EXPECT_XXX()来执行测试。

    ASSERT_EQ()来确保结果一致,不一致就停止。
    EXPECT_EQ()来检查结果一致,不一致的话依然继续执行,但是给出提示。
    ASSERT_EQ()EXPECT_EQ()都可以制作流,因此可以接一个<<"message"来作为提示。

    可用宏列表

    • ASSERT_TRUE

    • ASSERT_FALSE

    • ASSERT_EQ

    • ASSERT_NE: 不等于

    • ASSERT_GT: >

    • ASSERT_LE: <=

    • ASSERT_LT: <

    • ASSERT_GE: >=

    • ASSERT_STREQ:字符串相等

    • ASSERT_STRNE:字符串不等

    • ASSERT_STRCASEEQ:不考虑大小写时相等

    • ASSERT_STRCASENE:不考虑大小写是不等

    • EXPECT_TRUE

    • EXPECT_FALSE

    • EXPECT_EQ

    • EXPECT_NE: 不等于

    • EXPECT_GT: >

    • EXPECT_LE: <=

    • EXPECT_LT: <

    • EXPECT_GE: >=

    • EXPECT_STREQ:字符串相等

    • EXPECT_STRNE:字符串不等

    • EXPECT_STRCASEEQ:不考虑大小写时相等

    • EXPECT_STRCASENE:不考虑大小写是不等

    简单的测试写法

    TEST(TestSuiteName, TestName){
        ...
    }
    

    其中TestSuiteNameTestName必须是不含"_"的标志符。

    复杂一点,还可以用TEST_F,感觉有点复杂,和TEST的区别可以看看这篇:https://blog.csdn.net/carolzhang8406/article/details/54668462

  • 相关阅读:
    POJ2454 Jersey Politics
    Codeforces 798D
    BZOJ4556 HEOI2016 字符串
    BZOJ1009 [HNOI2008]GT考试
    POJ3693 Maximum repetition substring
    POJ1226 Substrings
    POJ3450 Corporate Identity
    POJ3415 Common Substrings
    CSS Sprites(CSS精灵) 的优缺点
    window.location.replace
  • 原文地址:https://www.cnblogs.com/zjutzz/p/10304075.html
Copyright © 2011-2022 走看看