【发布时间】:2015-03-30 21:58:02
【问题描述】:
对于一套 .NET 测试 (MSTest),有没有办法找到仅由特定测试子集(即单个 TestClass)覆盖的代码块?
这是我的场景:我在一个旧代码库中工作,随着时间的推移,该代码库已经构建了一个庞大而缓慢的单元和集成测试套件。我们希望减少套件的整体运行时间。一种方法是减少集成测试和单元测试之间的冗余。事实上,对于某些单元测试来说,可能存在完全多余的集成测试。
这是我想做的:
- 收集整套单元和集成测试的代码覆盖率。
- 查找不涵盖其他测试未涵盖的任何块的集成测试。
- 手动验证报告的测试是否完全冗余,如果是,请将其删除。
编辑: 根据目前的反馈,让我强调代码覆盖率只是一种工具,它描绘了测试真正测试的内容的不完整图景。在贬低它的价值之前理解一个测试是很重要的。
我们的测试是用 MSTest 编写的,并使用 Visual Studio 运行。我对收集代码覆盖率很熟悉,但不知道如何查询。
【问题讨论】:
标签: .net unit-testing code-coverage mstest