本文主要是介绍【日常学习笔记】gtest,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
https://zhuanlan.zhihu.com/p/369466622
int Factorial(int n) {int result = 1;for (int i = 1; i <= n; i++) {result *= i;}return result;
}
TEST(TestSuiteName, TestName)
第一个参数可以表示为一个对某一个函数进行测试,第二个参数表示对这个函数测试时的分的几种场景;所以对一一个函数测试时,第一个参数应该是一样的,第二个参数针对这个函数的不同场景有不同的名字。
// 下面三个 TEST 都是属于同一个 test suite,即 FactorialTest
// 正数为一组
TEST(FactorialTest, Negative) {EXPECT_EQ(1, Factorial(-5));EXPECT_EQ(1, Factorial(-1));EXPECT_GT(Factorial(-10), 0);
}
// 0
TEST(FactorialTest, Zero) {EXPECT_EQ(1, Factorial(0));
}
// 负数为一组
TEST(FactorialTest, Positive) {EXPECT_EQ(1, Factorial(1));EXPECT_EQ(2, Factorial(2));EXPECT_EQ(6, Factorial(3));EXPECT_EQ(40320, Factorial(8));
}
在main
函数中增加RUN_ALL_TESTS()
即可运行。
int main(int argc, char **argv) {printf("Running main() from %s\n", __FILE__);testing::InitGoogleTest(&argc, argv);return RUN_ALL_TESTS();
}
⚠️ 另外还有TEST_F,提供更加高级的用法
这篇关于【日常学习笔记】gtest的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!