添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
本文介绍了如何在VisualStudio2019环境下,利用GoogleTest框架为名为ProP1546的项目创建和配置单元测试项目GTestForP1546。步骤包括创建被测项目和测试项目,将被测项目配置为动态链接库,以及设置测试项目的引用和包含目录。同时,文中还提到了处理C4996警告、找不到DLL及链接错误的解决方法。 摘要由CSDN通过智能技术生成

Visual Studio 2019
C/C++
Google Test

在Visual Studio中,单元测试项目会随着安装各种不同的语言环境默认安装,比如安装了.net 开发环境时会安装NUnit MSTest等测试框架。我的环境里有本机单元测试项目,Google Test,因为较熟悉Google Test,本文以其为例介绍如何针对VS项目做Gtest单元测试。
在这里插入图片描述

创建被测项目、测试项目

  1. 首先创建了一个空解决方案CppUnittestForP1546.sln,然后在空解决方案下建立一个基于C++的空项目“ProP1546”,正常开发这个项目。
  2. 在同一个解决方案下,创建单元测试项目GTestForP1546:
    鼠标点选解决方案右键->添加->新建项目,我们在项目模板搜索栏中输入Test/测试,或者点选测试,会出现前面概述里的界面,选择Google Test,创建一个单元测试项目即可。

配置被测项目、测试项目

接下来就是项目配置:

配置测试目标项目ProP1546,生成动态链接库

(1) 将ProP1546项目的配置类型变更为动态库 .dll 或静态库 .lib,这里我选择的是动态库(.dll):

ProP1546项目右键->属性->常规->配置类型->动态库(.dll)

(2) 将ProP1546项目的输出目录修改为ProjectDir(默认设置是SolutionDir)

ProP1546项目右键->属性->常规->输出目录,将SolutionDir替换为ProjectDir

——这样的话,生成的dll、lib的位置就在项目所在路径下,当然可以根据实际情况更改这个位置。
在这里插入图片描述
(3) 动态链接库导出函数的一些宏定义可以通过下面的方式设置:

项目属性 -> C/C++ -> 预处理器 -> 预处理器定义;

注意:_CRT_SECURE_NO_WARNINGS 为了 禁止显示状态错误C4996,更多详情可参考后文的“附加说明”。
在这里插入图片描述

配置单元测试项目GTestForP1546

(1) 将测试目标项目ProP1546添加至单元测试项目GTestForP1546引用中:

选中单元测试项目下的“引用”节点右键->添加引用->选择测试目标项目点击确定.

在这里插入图片描述
(2) 将测试目标项目ProP1546中公开的头文件所在目录,添加至单元测试项目GTestForP1546的附加包含目录:

选中单元测试项目GTestForP1546右键->C/C++->常规->附加包含目录->编辑
点击添加目录按钮,选择测试目标目录ProP1546的头文件所在目录。

(3) 将测试目标项目ProP1546的.lib 或 .dll 文件的输出目录,添加至单元测试项目GTestForP1546的附加库目录,并添加.lib文件名至附加依赖库。
a. 添加附加库目录

单元测试项目GTestForP1546右键属性->链接器->常规->附加库目录

将lib文件的输出目录添加到列表中
在这里插入图片描述

b. 添加库文件至附加依赖库

单元测试项目GTestForP1546右键属性->链接器->输入->附加依赖库

在随后打开的文本框中输入.lib(目标测试项目输出的lib文件名。)
在这里插入图片描述
最后要保证两个项目的配置和平台一致:
在这里插入图片描述

单元测试用例执行情况:
在这里插入图片描述

关于禁止显示状态错误C4996

可参见:
严重性代码说明项目文件行 禁止显示状态错误C4996 ‘scanf‘: This function or variable may be unsafe.最全解决方法

关于找不到某个dll,解决方法

在项目属性页的“配置属性”->“调试”->“环境” 中编辑,把环境路径设置为dll的文件路径即可,注意末尾分号要用半角的。
在这里插入图片描述
在这里插入图片描述

关于使用动态链接库提示链接错误

在这里插入图片描述
可以借助工具dumpbin查看DLL的导出函数:
在这里插入图片描述
在这里插入图片描述

vs项目中 包含目录、库目录、附加包含目录,附加库目录和附加依赖项

环境:Windows10 VS2019 刚开始接触gtest,搜了一大堆教程,但都是VS2017甚至是更老版本的,摸索了一圈还是不会用,后来发现VS2019中自带gtest(泪 下面是我自己探索出的用法,如果有不对的地方希望朋友们走过路过帮忙纠正(感谢 下面正文开始->查找到Google Test 创建一个新项目 设置项目配置 写一个简单的加法
文章目录一、下载二、安装三、引入到自己的项目中四、常用语法五、对于Google Test的使用 本文记录Google TestVisual Studio中的使用 使用git下载Google Test到自己的本地,或者直接登录到 Google Test 的仓库中,点击clone后选择Open with Visual Studio。 切换视图到项目,右键进行生成 生成后可以看到out目录下已经生成了相应的库文件 三、引入到自己的项目中 新建c++ 项目 添加头文件引用目录
vs2019单元测试概念步骤创建单元测试项目关联待测试的项目编写测试代码单元测试测试结果 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。 编写单元测试是用来验证这段代码的行为是否与我们期望的一致。 开发环境: vs2019 测试例子: 一个简单的两数相加 int add_Two(int a,int b) main.cpp: test.h: 创建单元测试项目 右键解决方案文件夹->添加->新建项目 找到本机单元测试项目- > 下一步-
test4j 5.0 是一个用于 Java 单元测试的开源框架,而 Linux 是一种开源的操作系统。在 Linux 上使用 test4j 5.0 时,可能需要动态链接库动态链接库(Dynamic Link Library,简称 DLL)是一种在程序运行时加载和链接的库文件。在 Linux 上,动态链接库的文件扩展名通常是 .so(Shared Object)。 使用 test4j 5.0 在 Linux 上,可能需要动态链接库来支持一些特定的功能或依赖。这些动态链接库可以是由操作系统提供的标准库,也可以是第三方软件或库提供的。 为了在 Linux 上使用 test4j 5.0,我们可以按照以下步骤进行操作: 1. 确认 test4j 5.0 的要求:在官方文档或说明中,了解 test4j 5.0 所需的动态链接库及其版本要求。 2. 安装必需的动态链接库:根据要求,在 Linux 上安装需要的动态链接库。可以使用包管理器来安装相应的库,或者手动下载并编译源代码。 3. 配置库的路径:将安装好的动态链接库的路径添加到系统的库搜索路径中,以便程序可以找到并加载这些库。 4. 测试运行:在配置动态链接库后,可以运行 test4j 5.0 的相关测试用例,看看是否成功加载和使用动态链接库。 总之,为了在 Linux 上使用 test4j 5.0,我们需要根据要求安装和配置相应的动态链接库,以满足测试框架的需求。这样,我们就能够在 Linux 上使用 test4j 5.0 来进行 Java 单元测试了。