Google 测试 Main 而不声明 main

Google Test Main Without declare a main

我可以通过 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.实施 main 后一切正常。

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

Gtest 具有实现应用程序入口点和运行测试的“gtest_main”库。 Uness 你 link 你需要自己提供入口点的图书馆。参见 编写 main() 函数