How to add GTest into your project §
- TEST(TestSuiteName, TestName)
- static void SetUpTestSuite():在第一个TEST之前运行
- static void TearDownTestSuite():在最后一个TEST之后运行
- TEST_F(TestFixtureName, TestName)
- virtual void SetUp():在TEST_F中测试案例之前运行;
- virtual void TearDown():在TEST_F之后运行。
int main(int argc, char **argv) {
printf("Running main() from %s\n", __FILE__);
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
GTest Macro §
Assertion §
- Success
- Non-fatal failure
- Fatal failure
Expect §
- EXPECT_EQ (==)
- EXPECT_NE (!=)
- EXPECT_LT (<)
- EXPECT_LE (<=)
- EXPECT_GT (>)
- EXPECT_GE (>=)
Sample code §
// in my_gtest_demo_1.cc
#include <gtest/gtest.h>
int add(int lhs, int rhs) { return lhs + rhs; }
int main(int argc, char const *argv[]) {
EXPECT_EQ(add(1,1), 2); // PASS
EXPECT_EQ(add(1,1), 1) << "FAILED: EXPECT: 2, but given 1";; // FAILDED
return 0;
}
https://zhuanlan.zhihu.com/p/369466622