概念

当创建一个测试(test)时,我们需要:
1. 使用 TEST( ) 宏来定义和命名一个测试函数
2. 在这个测试函数内,可以使用任何合法的C++表达式,以及gtest中的Assertions

TEST(test_case_name, test_name) {
 ... test body ...
}
  • 两个参数分别作为测试用例和测试名称的标识符,不能使用下划线
  • gtest时根据测试用例来组织测试结果的,因此对于逻辑相关的测试我们应该使用一个测试用例,不同测试用例的测试可以使用相同的标识符

例子

假设有以下这个函数:

int Factorial(int n); // Returns the factorial of n

则它的测试代码应该如此:

// Tests factorial of 0.
TEST(FactorialTest, HandlesZeroInput) {
  EXPECT_EQ(1, Factorial(0));
}

// Tests factorial of positive numbers.
TEST(FactorialTest, HandlesPositiveInput) {
  EXPECT_EQ(1, Factorial(1));
  EXPECT_EQ(2, Factorial(2));
  EXPECT_EQ(6, Factorial(3));
  EXPECT_EQ(40320, Factorial(8));
}



Zhu

有问题欢迎发邮件交流