没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:况鱼杰|2020-03-20 14:45:55.140|阅读 648 次
概述:您可以使用“ 测试资源管理器”窗口来编写和运行C ++单元测试。它的工作方式与其他语言一样。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
Visual Studio 是功能完备的 IDE,可用于编码、调试、测试和部署到任何平台,Visual Studio使用 .NET 开发 iOS、Android 和 Web 应用和游戏。
您可以使用“ 测试资源管理器”窗口来编写和运行C ++单元测试。它的工作方式与其他语言一样。
注意:C ++不支持某些功能,例如实时单元测试,编码的UI测试和IntelliTest。
Visual Studio包括这些C ++测试框架,无需额外下载:
Visual Studio 2017及更高版本(专业版和企业版)。C ++单元测试项目支持CodeLens。
Visual Studio 2017及更高版本(所有版本)
基本测试流程
以下各节显示了入门C ++单元测试的基本步骤。Microsoft和Google Test框架的基本配置都相似。Boost.Test要求您手动创建一个测试项目。
在Visual Studio 2019中创建测试项目
您可以在一个或多个测试项目中定义和运行测试。您可以使用与要测试的代码相同的解决方案来创建项目。要将新的测试项目添加到现有解决方案中,请在解决方案资源管理器中右键单击解决方案节点。在弹出菜单中,选择“ 添加” >“ 新建项目”。将语言设置为C ++,然后在搜索框中输入“ test”。下图显示了安装带有C ++的桌面开发和UWP Development工作负载时可用的测试项目:
在解决方案中创建对其他项目的引用
要允许访问被测项目中的功能,请在测试项目中添加对该项目的引用。在解决方案资源管理器中的测试项目节点上单击鼠标右键,以弹出菜单。选择添加 > 参考。
链接到对象或库文件
如果测试代码没有导出要测试的功能,则可以将输出.obj或.lib文件添加到测试项目的依赖项中。
为头文件添加#include指令
接下来,在单元测试.cpp文件中,#include为任何标头文件添加一个指令,该标头文件声明要测试的类型和功能。键入#include ",然后IntelliSense将激活以帮助您选择。对其他标题重复上述步骤。
为了避免在源文件的每个include语句中键入完整路径,可以在Project > Properties > C / C ++ > General > Additional Include Directories中添加所需的文件夹。
编写测试方法
注意:本节显示了用于C / C ++的Microsoft单元测试框架的语法。
测试项目中的.cpp文件具有为您定义的存根类和方法。它们显示了如何编写测试代码的示例。签名使用TEST_CLASS和TEST_METHOD宏,这些宏使方法可以从“ 测试资源管理器”窗口中发现。
TEST_CLASS和TEST_METHOD是Microsoft本机测试框架的一部分。Test Explorer以类似的方式发现其他受支持框架中的测试方法。
TEST_METHOD返回void。要产生测试结果,请使用Assert该类中的静态方法来根据预期结果测试实际结果。在以下示例中,假定MyClass具有一个采用的构造函数std::string。我们可以测试构造函数是否按预期方式初始化了该类,如下所示:
TEST_METHOD(TestClassInit) { std::string name = "Bill"; MyClass mc(name); Assert::AreEqual(name, mc.GetName()); }在前面的示例中,Assert::AreEqual调用结果确定测试是通过还是失败。Assert类包含许多其他方法,用于比较预期结果与实际结果。
您可以向测试方法添加特征以指定测试所有者,优先级和其他信息。然后,您可以在Test Explorer中使用这些值对测试进行排序和分组。
运行测试
在“ 测试”菜单上,选择“ Windows” >“ 测试资源管理器”。下图显示了尚未运行测试的测试项目。
注意:CTest与Test Explorer的集成尚不可用。从CMake主菜单运行CTest测试。
如果在窗口中看不到所有测试,请通过在解决方案资源管理器中右键单击其节点并选择Build或Rebuild来构建测试项目。
在“ 测试资源管理器”中,选择“全部运行”,或选择要运行的特定测试。右键单击测试以获取其他选项,包括在启用断点的调试模式下运行。运行所有测试后,该窗口显示哪些测试通过和哪些测试失败:
对于失败的测试,该消息提供了有助于诊断原因的详细信息。右键单击失败的测试以弹出菜单。选择“ 调试选定的测试”以逐步执行发生故障的功能。
使用CodeLens(Visual Studio 2017及更高版本(专业版和企业版))
使用CodeLens,您可以快速查看单元测试的状态,而无需离开代码编辑器。您可以通过以下任何一种方式为C ++单元测试项目初始化CodeLens:
单击该图标以获取更多信息,或者运行或调试单元测试:
本次内容到此就结束了,喜欢该产品的朋友可以点击下载Visual Studio试用版免费体验~
想要购买Visual Studio正版授权,或了解更多产品信息请点击
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@wqylolg.cn
文章转载自:FastReport .NET 的主要功能之一是能够将多份报告合并为一份。当您需要合并来自不同来源的数据或以更方便的格式呈现信息时,此功能非常有用。在本文中,我们将讨论如何在 FastReport .NET 中将多份报告合并为一份。
本文将手把手教你如何用VMProtect对这一关键函数进行虚拟化保护,大幅提升代码安全性,让逆向工程攻击者无从下手!
在 PDF 文档中添加页眉和页脚有助于保持一致的版式和专业的外观。本文将介绍如何使用 Spire.PDF for Java,通过 Java 在现有的 PDF 文档中添加页眉和页脚,并提供详细的步骤和代码示例。
对于开发人员来说,由于自动化和定制化,通常首选使用编程方法来去除 PDF 中的水印。Aspose.PDF 提供可靠且可定制的解决方案,可无缝集成到各种应用程序中,确保准确性并保持文档完整性。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@wqylolg.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢