关于我们
JetBrains dotCover 是一个 .NET 单元测试运行器和代码覆盖工具。 dotCover 让我们分析 .NET 应用程序代码的实际测试覆盖程度。 通过在单元测试期间或手动运行应用程序时测量方法调用,dotCover 向我们展示了哪些语句被覆盖了,哪些没有被覆盖。
要快速开始使用 dotCover,请参考 如何开始。
什么是代码覆盖率
在单元测试中,代码覆盖率是一种度量,描述了在自动化测试运行时,您的代码中有多少行被执行。 请参考以下示例:

在启用覆盖率分析的情况下运行 TestCircleLength() 测试后,dotCover 将向您展示测试覆盖了多少源代码:

它仅适用于单元测试吗?
不,除了单元测试之外,还有一种所谓的“应用程序覆盖率分析”。 在此分析中,您在 dotCover 的控制下运行应用程序,并执行特定的使用场景。 这里的主要目的是了解在特定场景中哪些代码部分被调用,哪些部分未被触及。

如何运行 dotCover
运行 dotCover 的方式可能会根据您的需求而有所不同:
如果您是需要不时 分析单元测试覆盖率的开发人员,最好的方法是使用集成在 Microsoft Visual Studio 或 JetBrains Rider 中的 dotCover。 请注意,如果您采用测试驱动开发(TDD)或只是希望在更改代码后几乎立即获得覆盖率指标,请考虑使用 持续测试。
如果您想在远程服务器上运行覆盖率分析,请使用 dotCover 的 命令行工具。
如果您想将覆盖率分析作为持续集成(CI)构建的一部分,您可以在 CI 服务器上运行 dotCover,例如 JetBrains TeamCity 或 任何其他 CI 服务器。
为什么代码覆盖率很重要?
dotCover 的主要目的是风险识别和代码质量保证。 测试覆盖的代码越多,进行更改而不破坏任何内容的安全性就越高。 许多软件公司将某个代码覆盖率值作为产品发布前必须满足的要求。 同时,值得注意的是,代码覆盖率显示了您进行了多少测试,但并不显示测试的质量如何。
