Visual Studio 使用教程:在Visual Studio中编写C ++ DLL的单元测试

Visual Studio是功能完备的 IDE,可用于编码、调试、测试和部署到任何平台,Visual Studio使用 .NET 开发 iOS、Android 和 Web 应用和游戏。

点击立即下载Visual Studio


有多种测试DLL代码的方法,具体取决于它是否导出要测试的功能。选择以下方式之一:

  • 单元测试仅调用从DLL导出的函数:按照编写C / C ++单元测试中所述添加单独的测试项目。在测试项目中,添加对DLL项目的引用。
  • DLL被构建为.exe文件:添加一个单独的测试项目。将其链接到输出目标文件。
  • 单元测试调用未从DLL导出的非成员函数,并且DLL可以构建为静态库:更改DLL项目,以便将其编译为.lib文件。添加一个单独的测试项目,该项目引用被测项目。这种方法的好处是允许您的测试使用未导出的成员,但仍将测试保留在单独的项目中。
  • 单元测试必须调用未导出的非成员函数,并且代码必须构建为动态链接库(DLL):在与产品代码相同的项目中添加单元测试。

创建测试
将DLL更改为静态库

  • 如果您的测试必须使用DLL项目未导出的成员,并且被测试项目被构建为动态库,请考虑将其转换为静态库。
    • 在解决方案资源管理器中,在要测试的项目的快捷菜单上,选择“属性”。将打开项目“属性”窗口。
    • 选择“配置属性>常规”。
    • 将配置类型设置为静态库(.lib)。

引用测试项目中导出的DLL函数

  • 如果DLL项目导出了要测试的功能,则可以从测试项目中添加对代码项目的引用。
    • 创建一个本机单元测试项目。
      • 在“文件”菜单上,选择“新建”>“项目”。在“添加新项目”对话框中,将“语言”设置为C ++,然后在搜索框中键入“ test”。然后选择“本机单元测试项目”。
    • 在解决方案资源管理器中,右键单击测试项目,然后选择“添加”>“引用”。
    • 选择项目,然后选择要测试的项目。
    • 选择添加按钮。

    • 在测试项目的属性中,将被测试项目的位置添加到“包括目录”中。

将测试链接到对象或库文件

  • 如果DLL没有导出要测试的功能,则可以将输出.obj或.lib文件添加到测试项目的依赖项中。
    • 创建一个本机单元测试项目。
      • 在“文件”菜单上,选择“新建”>“项目”。在“添加新项目”对话框中,将“语言”设置为C ++,然后在搜索框中键入“ test”。然后选择“本机单元测试项目”。
    • 在解决方案资源管理器中,在测试项目的快捷菜单上,选择“属性”。
    • 选择“配置属性>链接器>输入>其他依赖关系”。
    • 选择“配置属性>链接器>常规>其他库目录”。
    • 选择“配置属性”>“ VC ++目录”>“包含目录”。

在同一项目中添加单元测试

  • 修改产品代码项目属性,以包括单元测试所需的头文件和库文件。
    • 在解决方案资源管理器中,在被测项目的快捷菜单中,选择“属性”,将打开项目“属性”窗口。
    • 选择“配置属性”>“ VC ++目录”。
目录 属性
包含目录 $(VCInstallDir)UnitTestinclude;$(IncludePath)
图书馆目录 $(VCInstallDir)UnitTestlib;$(LibraryPath)
  • 添加一个C ++单元测试文件:
    • 在解决方案资源管理器中,在项目的快捷菜单中,选择“添加”>“新建项”>“ C ++单元测试”。

编写单元测试
在每个单元测试代码文件中,为要测试的项目的标题添加#include语句。将测试类和方法添加到单元测试代码文件中。例如:

#include "stdafx.h"#include "CppUnitTest.h"#include "MyProjectUnderTest.h"using namespace Microsoft::VisualStudio::CppUnitTestFramework;namespace MyTest{  TEST_CLASS(MyTests)  {  public:      TEST_METHOD(MyTestMethod)      {          Assert::AreEqual(MyProject::Multiply(2,3), 6);      }  };}

运行测试

  • 在“测试”菜单上,选择“ Windows”>“测试资源管理器”。
  • 如果在窗口中看不到所有测试,请在“解决方案资源管理器”中右键单击其节点,然后选择“生成”或“重新生成”,以构建测试项目。
  • 在测试资源管理器中,选择“全部运行”,或选择要运行的特定测试。右键单击测试以获取其他选项,包括在启用断点的调试模式下运行。

推荐文章:

在Visual Studio中编写C / C ++的单元测试


想要购买Visual Studio正版授权,或了解更多产品信息请点击【咨询在线客服】

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年1月27日
下一篇 2020年1月27日

相关推荐

发表回复

登录后才能评论