我正在学习本教程,但我不完全理解TEST函数是如何执行的
https://www.bogotobogo.com/cplusplus/google_unit_test_gtest.php
示例代码如下:
#include "gtest/gtest.h"
#include "simplemath.h"
TEST(testMath, myCubeTest)
{
EXPECT_EQ(1000, cubic(10));
}
API是否自动调用TEST
函数?如果有多个TEST
函数怎么办?
我有一些外部代码,它有多个TEST
函数,我需要从GTest之外的另一个可执行文件中调用它们。我能够包含该项目,但不知道如何调用TEST
函数。
有什么方法可以让我从另一段代码手动调用TEST
吗?
我看到在gtest.h中TEST
被定义为GTEST_TEST
但我不知道GTEST_TEST
是在哪里定义的。main
函数在哪里?它在gtest
api中的某个位置吗?
谢谢,
您不需要编写main
。来自文档:
大多数用户不需要编写自己的主函数,而是使用gtest_main(而不是gtest(进行链接,后者定义了一个合适的入口点。
但是你可以过滤,看看这个答案。
int main(int argc, char **argv) {
::testing::InitGoogleTest(&argc, argv);
::testing::GTEST_FLAG(filter) = "Test_Cases1*";
return RUN_ALL_TESTS();
}
你会在这个答案上有更多的选择。