提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:况鱼杰|2020-03-20 14:45:55.140|阅读 645 次
概述:您可以使用“ 测试资源管理器”窗口来编写和运行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@capbkgr.cn
文章转载自:本文将演示如何使用DevExpress WPF Grid控件实现列和带的固定,欢迎下载最新版组件体验!
在本文中,我们将探讨如何通过使用 JxBrowser 和 Quill.js 将现代富文本编辑器嵌入到 Java 桌面应用程序中,来克服 Swing、JavaFX 和 SWT 中内置编辑器的局限性。
Word 文档中的批注通常用于协作审阅和反馈。这些批注可能包含文本和图片,它们为文档改进提供了重要的参考信息。本文将演示如何使用 Spire.Doc for Java 在 Java 中提取 Word 文档中的批注文本和图片。
本文主要介绍如何使用DevExpress WinForms Data Grid组件实现列重新排序,欢迎下载最新版组件体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@capbkgr.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢