首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Visual Studio 上设置Google C++测试框架(gtest)

在 Visual Studio 上设置 Google C++ 测试框架 (gtest) 的方法如下:

  1. 下载 gtest 源码

首先,需要从 GitHub 上下载 gtest 源码。访问 https://github.com/google/googletest ,然后单击 "Code" 按钮,选择 "Download ZIP" 下载源码压缩包。将其解压到一个目录中。

  1. 创建 gtest 解决方案

打开 Visual Studio,然后选择 "打开一个现有的项目或解决方案"。浏览到解压缩的 gtest 源码目录,选择 "googletest" 文件夹,然后单击 "打开"。

在解决方案资源管理器中,右键单击 "gtest" 项目,然后选择 "添加" -> "新项目"。在 "添加新项目" 对话框中,选择 "Visual C++" -> "Windows" -> "静态库(.lib)"。在 "名称" 中输入 "gtest_main",然后单击 "添加"。

在 "gtest_main" 项目中,右键单击 "源文件",然后选择 "添加" -> "现有项"。浏览到解压缩的 gtest 源码目录中的 "googletest" -> "src" 目录,选择 "gtest_main.cc" 文件,然后单击 "添加"。

  1. 配置 gtest 项目

在解决方案资源管理器中,右键单击 "gtest" 项目,然后选择 "属性"。在 "属性页" 对话框中,选择 "C/C++" -> "常规",然后在 "附加包含目录" 中添加 gtest 源码目录的路径。

接下来,在 "链接器" -> "常规" 中,将 "附加库目录" 设置为 gtest 项目的输出目录。在 "链接器" -> "输入" 中,将 "附加依赖项" 设置为 "gtest.lib"。

  1. 创建测试项目

在解决方案资源管理器中,右键单击解决方案,然后选择 "添加" -> "新项目"。创建一个新的 C++ 项目,并在其中添加要测试的源代码。

  1. 配置测试项目

在测试项目的属性页中,配置 "C/C++" -> "常规" -> "附加包含目录",添加 gtest 源码目录的路径。

在 "链接器" -> "常规" 中,将 "附加库目录" 设置为 gtest 项目的输出目录。在 "链接器" -> "输入" 中,将 "附加依赖项" 设置为 "gtest_main.lib"。

  1. 编写测试用例

在测试项目中,创建一个新的源文件,并编写测试用例。例如:

代码语言:cpp
复制
#include "gtest/gtest.h"
#include "my_function.h"

TEST(MyFunctionTest, HandlesZeroInput) {
  EXPECT_EQ(0, my_function(0));
}

TEST(MyFunctionTest, HandlesPositiveInput) {
  EXPECT_EQ(1, my_function(1));
  EXPECT_EQ(2, my_function(2));
}
  1. 运行测试

在测试项目中,右键单击 "解决方案",然后选择 "设置解决方案配置"。选择 "调试" 和 "发布" 配置。然后,右键单击测试项目,选择 "生成"。最后,右键单击测试项目,选择 "测试" -> "运行" -> "所有测试"。

这样,就可以在 Visual Studio 上使用 Google C++ 测试框架 (gtest) 进行测试了。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

玩转Google开源C++单元测试框架Google Test系列(gtest)(总)

2.使用gtest可以免去维护测试框架的麻烦,让我们有更多精力投入到案例设计。 3.gtest提高了非常完善的功能,并且简单易用,极大的提高了编写测试案例的效率。...下面是该系列的目录: 1.玩转Google开源C++单元测试框架Google Test系列(gtest)之一 - 初识gtest 2.玩转Google开源C++单元测试框架Google Test系列(gtest...)之二 - 断言 3.玩转Google开源C++单元测试框架Google Test系列(gtest)之三 - 事件机制 4.玩转Google开源C++单元测试框架Google Test系列(gtest)...之四 - 参数化 5.玩转Google开源C++单元测试框架Google Test系列(gtest)之五 - 死亡测试 6.玩转Google开源C++单元测试框架Google Test系列(gtest)...之六 - 运行参数 7.玩转Google开源C++单元测试框架Google Test系列(gtest)之七 - 深入解析gtest 8.玩转Google开源C++单元测试框架Google Test系列(

1.3K10

单测:Google Test框架

介绍Google Test是一个流行的C++单元测试框架,它提供了丰富的断言和测试工具,用于编写和运行单元测试。...2、环境工具:Visual Studio 2022 专业版安装必要工具:工具 - 获取工具和功能必要组件:用于Windows的C++ CMake工具Google Test 测试适配器3、配置配置指定编译选项...,可是如何集成到Visual Studio中使用此测试框架呢?...Studio创建Google Test项目利用Visual studioGoogle Test 测试适配器这个组件提供的能力,可以直接在visual studio中创建Google Test项目这里目标测试项目填空...Visual Studio官方增加了对Google Test框架的支持,十分友好Visual Studio 中的 CMake 项目Vs+Cmake官方教程借助 Visual Studio 对 CMake

78510
  • C++代码调试和测试:使用调试器和单元测试工具

    它提供了许多功能,设置断点、监视变量、单步执行等,可以帮助我们精确地追踪代码的执行过程并查找错误。...Visual Studio 如果你使用 Visual Studio 进行 C++ 开发,它内置了一个功能强大的调试器。你可以使用断点、单步执行、查看变量等功能来调试你的代码。...Visual Studio 也提供了可视化界面,使得调试过程更加直观和方便。单元测试工具单元测试是一种测试方法,用于验证代码中的独立单元(函数或类)的功能是否正常。...以下是一些常用的 C++ 单元测试工具: 1. Google Test Google Test 是 Google 提供的一个开源的 C++ 单元测试框架,它可以帮助我们编写和执行测试用例。...Catch2 Catch2 是另一个流行的 C++ 单元测试框架,它的设计目标是简单易用和富有表达力。Catch2 提供了自动注册测试用例的功能,使得测试用例的管理变得非常便捷。

    66320

    gtest和gmock的关系_gtest教程

    还好, Google 为我们搭建了一个出色的单元测试和 mock 框架。...AD: Google C++ Testing Framework(简称gtest,http://code.google.com/p/googletest/)是Google公司发布的一个开源C/C++单元测试框架...优秀的C/C++单元测试框架并不算少,相比之下gtest仍具有明显优势。与CppUnit比,gtest需要使用的头文件和函数宏更集中,并支持测试用例的自动注册。...一、基本用法 gtest当前的版本是1.5.0,如果使用Visual C++编译,要求编译器版本不低于7.1(Visual C++ 2003)。...遗憾的是,目前仅使用这些测试宏无法得到获得被抛出异常的详细信息( divide函数中的报错文本),这和gtest自身不愿意使用C++异常有关。

    1.9K20

    教你如何使用QBDI动态二进制检测框架

    工具介绍 QBDI全名为QuarkslaB Dynamicbinary Instrumentation,它是一个模块化的跨平台以及跨架构的DBI框架。...但是,QBDI目前无法处理信号、多线程和C++异常机制。...编译 在构建该项目时,系统需要满足下列依赖:cmake、make(针对Linux和macOS)、ninja(针对Android)、Visual Studio(针对Windows)和C++ 11工具集。...编译过程分为两个步骤: 1.构建本地代码以及依赖; 2.使用代码库构建QBDI; 当前的依赖组件需要用户构建LLVM和Google Test,我们需要本地构建 LLVM,因为QBDI需要使用常规LLVM...首先,需要修改config-win-X86_64.py来匹配安装好的Visual Studio,然后运行下列代码: mkdir buildcd buildpython..

    1.9K40

    基于自定义向导的C++单元测试环境自动化配置

    本文介绍了Visual Studio扩展自定义向导的完整步骤以及核心的技术要点,通过自定义向导,可以简化许多场景下的环境配置以及框架搭建操作。...打开VS,点击File->New Project,选择Visual C++节点(本文主要讨论C++项目的自定义向导,VS同样支持其他语言自定义向导),点击Custom Wizard,设置好相关的信息后,...在这里我们可以编辑HTML来设置GTEST相关的一些选项,比如是否生成测试类的某些方法以及配置、属性继承: ?...其实,对于使用js来操作VS,是属于VS扩展模型的一部分,它底层基于COM,使用C++、C#、JS等都能够进行操作(各类VS扩展插件都是基于该模型编写),具体参考微软文档:扩展 Visual Studio...比如我们编写一个GTEST测试类的向导,用户可以有选择的生成或者不生成一些方法,那么模板文件可以这样编写: #include class [!

    1.6K100

    c++单元测试

    环境搭建 C++常用单元测试工具介绍 有很多C++测试框架Catch, Boost.Test, UnitTest++, lest, bandit, igloo, xUnit++, CppTest,...Gtest介绍 Google C++单元测试框架(简称Gtest),可在多个平台上使用(包括Linux, Mac OS X, Windows, Cygwin和Symbian),它提供了丰富的断言、致命和非致命失败判断...引用 C++单元测试工具——doctest_蓝月心语的博客-CSDN博客_c++ doctest 单元测试_菜鸟郭郭的博客-CSDN博客 还在用gtest?...更好用的测试框架介绍_特立独行的猫a的博客-CSDN博客 【gTestgtest简介及简单使用_伐尘的博客-CSDN博客_gtest GTest 总结_HUSTER593的博客-CSDN博客_gtest...catch2:一个好用的C++单元测试框架_ithiker的博客-CSDN博客_catch2 一文掌握谷歌 C++ 单元测试框架 GoogleTest_凌桓丶的博客-CSDN博客_googletest

    1.5K10

    近期cmake-toolset的一些适配问题

    前言 偷懒了好久没有写分享了,最近的时间也是花费了很多时间大量优化了之前游戏服务器框架和组件的很多细节。...-add_library(boringssl_gtest third_party/googletest/src/gtest-all.cc) +add_library(boringssl_gtest STATIC...那么在一些新式的编译器开启 C++23的时候,比如 (Visual Studio 2022里带的MSVC v14.30)就会编译不过,这里也是打个Patch就好了。...我只在GCC碰到了,但是按 stackoverflow 的相关问题的说法Clang也是有问题的。我本地的Clang版本都比较高,在高版本的Clang是没有这个问题的。...我自己测试过的平台已经扩大到了 Visual Studio 2022 (MSVC v143) ,Android NDK r23,GCC 11,LLVM/Clang 13 这些非常高版本的编译环境,且测试过开启部分

    90840

    FFmpeg开发笔记(三十九)给Visual StudioC++工程集成FFmpeg

    ​《FFmpeg开发实战:从零基础到短视频上线》一书的“第11章  FFmpeg的桌面开发”介绍了如何在Windows环境对Qt结合FFmpeg实现桌面程序,那么Windows系统通过Visual Studio...开发桌面程序也是很常见的,下面就介绍如何在Visual StudioC++工程中集成FFmpeg库和SDL2库。...再打开事先安装的Visual Studio 2022,创建一个基于C++的控制台应用项目。...回到Visual Studio 2022的主界面,在左侧的代码编辑窗口中填写下面的FFmpeg测试代码,主要是调用FFmpeg框架的av_log函数来输出“Hello World”。...Visual Studio就开始编译测试程序,编译完毕弹出控制台窗口输出了一行日志“Hello World”,说明成功在Visual StudioC++工程中集成了FFmpeg库。

    27810

    gtestC++测试框架之使用 gtest 编写单元测试

    前言 gtestGoogle 开发的一个用于 C++测试框架,广泛应用于编写和运行单元测试,并且支持任何类型的测试,而不仅仅是单元测试。...设置项目 CMake 使用 CMakeLists.txt 来配置项目的构建系统【使用该文件设置项目,并声明对 gtest 的依赖】 首先,创建一个项目的目录: mkdir my_project && cd...set(CMAKE_CXX_STANDARD 14) 和 set(CMAKE_CXX_STANDARD_REQUIRED ON):设置C++ 标准为 C++14,且要求编译器支持此标准。...(hello_test) 上述配置启用了 CMake 中的测试,声明了要构建的 C++ 测试二进制文件(hello_test),并将其链接到 GoogleTest(gtest_main)。...1.2 简单测试 使用 TEST() 宏来定义和命名一个测试函数。这些是普通的 C++ 函数,不返回任何值。 在这个函数中,除了你想包含的有效的 C++ 语句,使用各种 gtest 断言来检查值。

    2K10

    .NET周报【10月第1期 2022-10-11】

    在 Windows 虚拟机中托管了一个 WCF 的 SOAP 服务和一个.NET 框架 4.6。 文章介绍了转移到新的.NET 平台的原因。 原因主要有以下五点: 跨平台,使用容器。...文章介绍了在重写前为增加自动测试覆盖率所采取的方法,内部系统调用的调用,旧的实现和新的实现。 它还引入了 runtimeconfig.json 和环境变量设置,恢复到.NET 6 兼容行为。...在 Visual Studio 中对文件进行比较 - Visual Studio Blog https://devblogs.microsoft.com/visualstudio/comparing-files-in-visual-studio...Studio 2022 17.3 版或更高版本中针对.NET Core 或.NET 5 或更高版本的 C++/CLI MSBuild 项目。...Ctrl+Shift+B 可以在 BenchmarkDotNet 获得一个即时的基准测试

    5K20
    领券