首页 > 解决方案 > 谷歌测试主要没有声明一个主要

问题描述

我可以通过 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?以及我是如何崩溃的,或者为什么突然找不到?

标签: c++visual-studio-2017nugetmaingoogletest

解决方案


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


推荐阅读