Google Test Main 没有声明一个 main

Kon*_*nry 4 c++ program-entry-point googletest nuget visual-studio-2017

我可以通过 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);
}
Run Code Online (Sandbox Code Playgroud)

在实现一些测试并删除 nuget(但不是删除它的直接结果)之后,jenkins 上的编译器需要一个 main.js 文件。实现主要后一切正常。

我很好奇这是如何工作的(创建一个可执行文件而不声明 main)。如果找不到其他任何其他内容,googletest 是否附带默认主要内容?我是如何崩溃的,或者为什么突然找不到这个?

use*_*670 8

Gtest 具有“gtest_main”库,用于实现应用程序入口点并运行测试。如果您链接该库,您将需要自己提供入口点。请参阅 编写 main() 函数