Google Test Main无需声明主

时间:2019-01-21 09:51:37

标签: c++ visual-studio-2017 nuget main googletest

我可以通过Visual Studio 2017将googletest项目添加到我的解决方案中。当我这样做时,它会自动生成一个带有示例测试的新项目。并添加

的nuget包
  

Microsoft.googletest.v140.windesktop.msvcstl.static.rt-dyn。

现在,此测试没有主要内容。但是它创建了一个可执行文件,我可以运行它。

#include "pch.h"

TEST(TestCaseName, TestName) {
   EXPECT_EQ(1, 1);
   EXPECT_TRUE(true);
}

在执行了一些测试并删除了nuget之后(但不是删除它的直接结果),jenkins上的编译器需要一个main。实施主要功能后,一切正常。

我很好奇这是如何工作的(创建可执行文件而不声明主文件)。如果找不到其他主机,则googletest是否带有默认的main?以及我如何将其崩溃或为什么突然找不到它?

1 个答案:

答案 0 :(得分:3)

Gtest具有实现应用程序入口点并运行测试的“ gtest_main”库。如果您链接该库,则需要自己提供入口点。参见 Writing the main() Function