GTest Day 2 —— 测试套件(TestSuite)的使用
# GTest Day 2 —— 测试套件(TestSuite)的使用
测试套件可以理解为对测试项进行分组归类,同一个测试套件可以建立多个测试项,gtest也会根据测试套件对结果进行分组,因此逻辑相关的测试应该在同一个测试套件中。
创建测试套件:
- 使用TEST(TestSuiteName, TestName)宏定义和命名测试函数。这些是不返回值的普通 C++ 函数。
- 在此函数中,连同您想要包含的任何有效 C++ 语句,使用各种 googletest 断言来检查值。
- 测试的结果由断言决定;如果测试中的任何断言失败(致命或非致命),或者如果测试崩溃,则整个测试失败。否则,它会成功。
TEST(TestSuiteName, TestName) {
... test body ...
}
1
2
3
2
3
TestSuiteName: 测试套件的名称。
TestName: 该测试套件中的一个测试项的名称。
⚠️:这两个名称都必须是有效的 C++ 标识符,并且它们不应包含任何下划线_
。
使用举例:
int Factorial(int n); // Returns the factorial of n
// Tests factorial of 0.
TEST(FactorialTest, HandlesZeroInput) {
EXPECT_EQ(Factorial(0), 1);
}
// Tests factorial of positive numbers.
TEST(FactorialTest, HandlesPositiveInput) {
EXPECT_EQ(Factorial(1), 1);
EXPECT_EQ(Factorial(2), 2);
EXPECT_EQ(Factorial(3), 6);
EXPECT_EQ(Factorial(8), 40320);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
上次更新: 2022/07/24, 21:47:51