生产厂商:JetBrains产品类别:开发工具
分析.NET代码覆盖率
JetBrains dotCover是一款.NET单元测试运行程序和代码覆盖率工具,并且可与Visual Studio和JetBrains Rider集成。
确保您了解单元测试覆盖代码的程度。dotCover计算并报告面向 .NET Framework、.NET Core、Mono和 Mono for Unity 的应用程序的语句级代码覆盖率。
单元测试
在Visual Studio中或使用命令行实用程序执行和调试单元测试并分析其覆盖率。dotCover支持多种单元测试框架,包括MSTest、NUnit、xUnit和MSpec。
手动测试会话
对于手动测试会话,dotCover可显示会话期间调用了哪些代码以及未到达的部分。使用覆盖率分析数据,您可以轻松获得测试应用程序的源代码。
检测热点
使用Hot Spots视图一目了然地检测潜在的风险区域,此视图可显示覆盖率最低、最复杂的方法。通过直观的图形表示,让您的覆盖率分析有一个良好的开端。
与Visual Studio和JetBrains Rider无缝集成
dotCover可与Visual Studio和JetBrains Rider集成,为您提供无需离开代码编辑器即可分析和可视化代码覆盖率的优势。它支持Visual Studio 2010 — 2017和JetBrains Rider 2018.2或更高版本。
持续测试
dotCover可以实时发现哪些单元测试受到最新代码变更的影响,并自动为您重新运行受影响的测试。
可以为任何单元测试会话打开持续测试模式:通过这种方式,您可以选择希望哪些测试要持续运行,而哪些测试以传统方式运行。
为什么选择dotCover
覆盖率高亮显示
dotCover可以可视化代码覆盖率,为您提供方便。您可以直接在Visual Studio中查看在特定覆盖会话中覆盖和未覆盖的语句,语句将高亮显示。
持续覆盖率分析
dotCover提供了一个可与持续集成服务器搭配使用的控制台实用程序。此外,TeamCity 中还内置了免费的服务器版dotCover。
筛选和排除节点
通过覆盖率筛选器定制覆盖率分析。从覆盖率快照中排除特定项目时,dotCover将立即重新计算覆盖率统计数据。
导航到覆盖的测试
使用快捷键检测哪些单元测试覆盖特定语句:Visual Studio弹出窗口将显示覆盖测试的列表,并让您导航到其中任何一个测试。
属于RESHARPER ULTIMATE
ReSharper Ultimate:
一个许可证包含一套.NET工具和ReSharper C++
ReSharper Ultimate是一种包含各个JetBrains .NET工具和ReSharper C++的许可证。
每个ReSharper Ultimate许可证允许一名开发者使用ReSharper、ReSharper C++、dotCover、dotTrace和dotMemory。
dotCover功能
dotCover是一款 .NET单元测试和代码覆盖率工具,可以直接在 VisualStudio 和 JetBrains Rider 中运行,能够帮助您了解单元测试的代码覆盖程度,为代码覆盖率提供绝佳的可视化方式,并支持持续集成。dotCover计算并报告面向 .NET Framework、.NETCore、Mono 和 Monofor Unity 的应用程序的语句级代码覆盖率。
与Visual Studio和JetBrains Rider集成
dotCover是一款可以集成到VisualStudio和JetBrains Rider中的插件,让您能够在不离开代码编辑器的情况下分析和可视化代码覆盖率。这包括直接在IDE中运行单元测试和分析覆盖结果,以及支持不同颜色主题、新图标和菜单。
dotCover支持Visual Studio 2010-2019和JetBrains Rider 2018.2或更高版本。
在Windows、macOS和Linux上运行
在Windows上,dotCover作为Visual Studio或JetBrains Rider的一部分运行,支持针对.NET Framework1.0-4.7和.NETCore 1.0-3.0的项目。在macOS和Linux上,dotCover只能作为JetBrains Rider的一部分使用,用于分析针对.NETCore 1.0-3.0、Mono 5.10及更高版本、Mono forUnity 2018.3及更高版本的项目代码覆盖率。
运行和管理单元测试
dotCover绑定了一个单元测试运行程序,另一款适用于.NET开发者的JetBrains工具 ReSharper 也使用该运行程序。
该运行程序可以在VisualStudio/JetBrains Rider中运行,允许通过会话管理单元测试,并支持多种单元测试框架,即MSTest、NUnit、xUnit(全都开箱即用)和MSpec(通过插件)。
持续测试
dotCover支持持续测试:一种现代的单元测试工作流,在这个流程中,dotCover可以实时发现哪些单元测试受到最新代码变更的影响,并自动为您重新运行受影响的测试。
根据您的偏好,dotCover可以在保存文件、生成解决方案时或在您明确告知dotCover的情况下运行受影响的测试。
可为任意单元测试会话启用持续测试模式:通过这种方式,您可以选择希望哪些测试持续运行,而哪些测试以传统方式运行。
单元测试覆盖率
dotCover的一个主要用例是分析单元测试覆盖率,即找出哪些应用程序业务逻辑被单元测试覆盖,哪些没有覆盖。
除了单元测试运行结果外,dotCover还会显示一个覆盖树,其中包含单元测试对特定项目、命名空间、类型或类型成员的覆盖程度。
Visual Studio和JetBrains Rider中的覆盖高亮显示
为了可视化覆盖率数据,dotCover可以直接在代码编辑器中高亮显示代码行。并允许通过设置在高亮标记和多彩背景或两者同时显示间切换。
请注意,高亮显示不仅可以显示覆盖和未覆盖的代码,还可以显示覆盖单元测试的结果。绿色表示测试通过,红色表示至少有一个覆盖语句的测试失败。灰色显示未覆盖的代码。
导航到覆盖测试
dotCover提供命令(和键盘快捷键)来检测哪些测试覆盖了代码的特定位置,这些位置可以是类、方法或属性。
您可以从VisualStudio文本编辑器或从dotCover的 Coverage Tree 视图调用该命令。
您可以从列出覆盖测试的弹出窗口导航到其中任意测试。此外,您还可以立即运行它们,或将其添加到现有单元测试会话。
Hot Spots视图
Hot Spots视图旨在帮助您确定解决方案中风险最高的方法。热点根据方法的高循环复杂度和低单元测试覆盖率进行计算。
远程代码覆盖率
您可以在远程计算机上运行单元测试的覆盖率分析,并将结果返回到本地计算机。一旦开始覆盖率分析,dotCover就会将二进制文件和要执行的测试列表发送到远程服务器。
所有计算都由服务器执行,覆盖率快照随后将发送回您的计算机。然后,您可以像执行本地覆盖率一样检查覆盖率结果。
覆盖率筛选器
有时,您不希望了解整个解决方案范围内的覆盖率数据。例如,您也许对标记 ObsoleteAttribute 的代码或特定遗留项目的覆盖率统计不感兴趣。
在这种情况下,您可以根据项目、命名空间、类型或类型成员名称设置全局或解决方案特定的覆盖率筛选器。还可以使用属性筛选器将收集覆盖率信息的范围限制为使用某些属性标记(或未标记)的代码。
从覆盖树中排除节点
作为提前设置的或应用到打开的任何解决方案的筛选器的替代方法,您可以在使用某些项目时从覆盖率结果中将其排除。
当您已经收集了覆盖率数据后,可以选择从覆盖树中排除特定节点(并且可选择创建永久覆盖率筛选器)。一旦您这样做,dotCover将立即重新计算覆盖率统计数据。
多种报告格式
dotCover帮助您以所需的方式处理覆盖率数据。
导出为多种格式,包括HTML、XML、JSON和用于NDepend的XML,使您能够与团队的其他成员共享覆盖率报告,或将覆盖率信息传递给外部服务。
用于人工测试的代码覆盖率
作为单元测试覆盖率的替代,dotCover可以在从Visual Studio中执行的.NET应用程序上运行覆盖率分析。
这使QA工程师能够执行用例场景,并检查在此用例期间实际执行了哪些代码。保存与合并覆盖率快照支持执行不常用的测试用例。
覆盖率分析作为持续集成的一部分
dotCover非常适合持续集成服务器,特别是JetBrains的自有产品 TeamCity。
首先,通过VisualStudio中的TeamCity插件,dotCover可以从TeamCity服务器获得覆盖率数据,无需在本地计算机上运行覆盖率分析。
另一方面,dotCover覆盖率分析引擎绑定到免费版TeamCity,有助于安排覆盖率作为持续集成流程的一部分运行,并生成服务器端覆盖率报告。TeamCity理解dotCover控制台运行程序的输出,并且会在生成日志中高亮显示其错误和警告。