Visual Studio 使用教程:使用IntelliTest生成单元测试
Visual Studio 是功能完备的 IDE,可用于编码、调试、测试和部署到任何平台,Visual Studio使用 .NET 开发 iOS、Android 和 Web 应用和游戏。
IntelliTest探索您的.NET代码以生成测试数据和一组单元测试。对于代码中的每个语句,都会生成一个将执行该语句的测试输入。对代码中的每个条件分支都进行案例分析。例如,分析了if语句,断言以及所有可能引发异常的操作。此分析用于为每种方法为参数化的单元测试生成测试数据,从而创建具有较高代码覆盖率的单元测试。
运行IntelliTest时,您可以轻松查看哪些测试失败,并添加任何必要的代码来修复它们。 您可以选择将哪些生成的测试保存到测试项目中以提供回归套件。在更改代码时,请重新运行IntelliTest以使生成的测试与代码更改保持同步。
可用性和扩展
创建IntelliTest和运行IntelliTest菜单命令:
- 仅在Visual Studio企业版中可用。
- 仅支持针对.NET Framework的C#代码。
- 具有可扩展性,并支持以MSTest,MSTest V2,NUnit和xUnit格式进行测试。
- 不支持x64配置。
探索:使用IntelliTest探索您的代码并生成单元测试
要生成单元测试,您的类型必须是公共的。
在Visual Studio中打开您的解决方案,然后打开包含您要测试的方法的类文件。
右键单击方法,然后选择“运行IntelliTest”以为方法中的代码生成单元测试。
IntelliTest使用不同的输入多次运行您的代码。 表格中显示了每次运行,并显示了输入测试数据以及结果输出或异常。
要为类中的所有公共方法生成单元测试,只需右键单击类而不是特定方法,然后选择“运行IntelliTest”。使用“探索结果”窗口中的下拉列表显示类中每种方法的单元测试和输入数据。
对于通过的测试,请检查结果列中报告的结果是否符合您对代码的期望。对于失败的测试,请适当地修复您的代码。然后重新运行IntelliTest以验证修复程序。
将单元测试另存为回归套件
选择要与参数化单元测试一起保存到测试项目中的数据行
您可以查看测试项目和已创建的参数化单元测试-与每个行相对应的单个单元测试将保存在测试项目的.g.cs文件中,而参数化单元测试将保存在其相应的.cs文件。 您可以运行单元测试并从“测试资源管理器”中查看结果,就像手动创建的任何单元测试一样。
任何必要的参考也将添加到测试项目中。
如果方法代码更改,请重新运行IntelliTest以使单元测试与更改保持同步。
使用IntelliTest专注于代码探索
如果您有更复杂的代码,则IntelliTest可以帮助您重点研究代码。例如,如果您有一个以接口为参数的方法,并且有多个实现该接口的类,则IntelliTest会发现这些类并报告警告。
查看警告以确定您要做什么。
调查代码并了解要测试的内容之后,可以修复警告以选择用于测试接口的类。
此选择将添加到PexAssemblyInfo.cs文件中。
[assembly: PexUseType(typeof(Camera))]
现在,您只需使用固定的类即可重新运行IntelliTest来生成参数化的单元测试和测试数据。
本文内容到这里就结束了,本系列教程持续更新了,敬请期待~喜欢该产品的朋友可以点击下载Visual Studio试用版免费体验~
想要购买Visual Studio正版授权,或了解更多产品信息请点击