使用 Visual Studio 2020 在 C++ 中使用 google test 设置/配置单元测试

问题描述 投票:0回答:2

如果您无法编译解决方案,例如收到未解决的外部错误,请查看答案部分并重新创建其中列出的步骤。

c++ visual-studio unit-testing googletest
2个回答
1
投票

我们的示例标题:

#pragma once
#include <string>

std::string testfunc();

我们的示例源文件:

#include "to_test.h"
    
std::string testfunc()
{
    return "test worked";
}

创建示例项目后,我们想提前检查列表中的一些内容。

  1. 通过 Visual Studio 安装程序添加 google 测试适配器(在各个组件下,搜索“google”)
  2. 右键单击解决方案中的测试项目,然后单击“管理 NuGet 包”,切换到“浏览”选项卡并搜索“gtest”并添加它。它看起来有点像这样:

  1. 然后我们要向我们的解决方案添加一个单元测试项目。我们在解决方案资源管理器中右键单击我们的解决方案,然后选择“添加”->“新项目”。我们搜索“google”并添加弹出的一个名为“Google Test”的内容。首先,我们将所有设置保留为默认值,除了我们将从解决方案的父文件夹更改为我们要测试的项目的文件夹的路径(实际上只是更深一层)。我们将打开 test.cpp 并像这样添加它:(注意:不应复制粘贴自定义标头的 #include 以确保其在您的情况下是正确的路径)
#include "pch.h"
#include "../to_test.h"


TEST(test, TestName)
{
    //This Test will work
    EXPECT_TRUE(testfunc() == "test worked");

    //This Test will fail
    EXPECT_TRUE(testfunc() == "test not worked");
}
  1. 现在进行配置:右键单击您的测试项目并打开属性。
    • 在 VC++ 目录下,在“包含目录”下添加头文件的位置
    • 在链接器->常规下,添加要在“附加库目录”下测试的项目的调试文件夹
    • 在“链接器”->“输入简单”下,将不带文件类型的头文件名称添加到“附加依赖项”,在我们的例子中,即“to_test”(不带引号)

然后我们可以右键单击我们的解决方案并重建它。之后,我们可以通过右键单击它来选择我们的 GTest-1 项目作为 Startproject,然后像往常一样进行调试。弹出的终端应该看起来像这样:

免责声明:这绝对不是唯一的方法..如果有人愿意纠正我,我将非常感激:)


0
投票

很好的答案,帮助我修复了链接器外部错误。它彻底涵盖了将谷歌测试项目设置添加到解决方案后的设置。

© www.soinside.com 2019 - 2024. All rights reserved.