1. Assertions

  • EXPECT_*

    Do not interrupt when encountering an error

  • ASSERT_*

    Interrupt when encountering an error

  • User-defined error message

    e.g. EXPECT_EQ(x, y) << "x and y are unequal"

2. Assertions Reference

  • include <gtest/gtest.h>
  • An assertion of wide string will be translate to UTF-8

2.1. Boolean Comparison

  • suffix
    • TRUE
    • FALSE
  • usage
    • ASSERT_TRUE (condition)
    • EXPECT_FALSE (condition)
  • range
    • bool

2.2. Binary Comparison

  • suffix
    • == EQ
    • \ne NE
    • <\lt LT
    • \le LE
    • >\gt GT
    • \ge GE
  • usage
    • EXPECT_EQ (var1, var2)
    • ASSERT_EQ (var1, var2)
  • range
    • int
    • char
    • pointer

2.3. String Comparison

  • suffix
    • == EQ
    • \ne NE
    • =ignore case= ignore\ case CASEEQ
    • ignore case\ne ignore\ case CASENE
    • >\gt GT
    • \ge GE
  • usage
    • EXPECT_STREQ (str1, str2)
    • ASSERT_STREQ (str1, str2)
  • range
    • char*
    • wchar_t*

2.4. Float&Double Comparison

  • suffix
    • == EQ
    • $$\le abs_error$ NEAR
  • usage
    • EXPECT_FLOAT_EQ (var1, var2)
    • EXPECT_NEAR (var1, var2, abs_err)
  • range
    • float
    • double
    • int

3. Test Fixture

  • purpose
    • share variables and configurations
  • usage
class C : public ::testing::Test {
protected:
 void SetUp() override;
 void TearDown() override;
}
TEST_F(C, case_name) {
    // details..
}

4. Main

int main(int argc, char** argv) {
  testing::InitGoogleTest(&argc, argv);
  GTEST_FLAG_SET(death_test_style, "fast");
  return RUN_ALL_TESTS();
}

5. Reference

  1. Googletest Primer GoogleTest Primer _ GoogleTest.html
  2. Advanced GoogleTest Topics _ GoogleTest.html
  3. gMock for Dummies _ GoogleTest.html
  4. Advanced GoogleTest Topics _ GoogleTest.html
  5. gMock Cheat Sheet _ GoogleTest.html
Copyright © gendloop 2024 all right reserved,powered by Gitbook该文件修订时间: 2026-02-10 13:48:53

results matching ""

    No results matching ""