首页 > 解决方案 > 我可以取两个 .NET 代码覆盖率结果的差值吗?

问题描述

我有一组针对 .NET 代码库的旧集成测试,我正在删除这些测试,但我知道当我这样做时,将会有一些程序功能也将不再进行测试。我有兴趣获得这些功能的列表。

一种看起来很自然的方法是在这些集成测试的代码覆盖率与我们保留的官方单元和集成测试的代码覆盖率之间设置差异P \ Q) - 换句话说,某些内容将显示为合并结果当且仅当它被集成测试而不是官方测试覆盖时。例如,如果集成测试涵盖方法A()B()C(),而官方测试涵盖A()B()D(),那么最终报告应该只显示C()涵盖的内容。有没有办法通过 .NET 测试来获得这种差异?

我可以访问 Visual Studio 的测试运行程序以及 JetBrains dotCover,并且可以为两者生成代码覆盖率测试。我找到了有关如何使用两个测试框架进行逻辑 OR 合并操作的文档,但没有其他操作,包括设置差异。我也可以通过对单个报告 ( P \ Q = ~(~P | Q)) 进行逻辑非来推导出它,尽管这样的结果本身没有意义,所以我理解为什么不为其提供功能。

是的,我知道理论上的“最佳解决方案”是只为每个未测试的功能编写单元测试,但我可能不仅想首先关注新发现的缺陷,我还可能通过简单地删除来响应新发现的功能他们,因为集成测试代表了后来被取消的项目的需求。

标签: .netunit-testingcode-coverage

解决方案


推荐阅读