我想知道涵盖特定方法的测试。但是,NCover 不提供此信息。我不想使用 VSTS,因为我的代码不在 TFS 中。在.NET中有什么方法/工具可以做到这一点吗?
问问题
456 次
2 回答
1
从根本上说,您必须为每个测试运行一次测试覆盖工具,为该测试生成一个覆盖向量。如果您有数百个测试,您可以分别收集每个测试的覆盖率。
然后,如果覆盖向量 N 覆盖了一个方法,则测试 N 导致了该覆盖。
我不知道 NCover 是否/如何 NCover 可以交叉引用回对应于方法源代码的行范围。
对于我们的C# 测试覆盖工具,仪器工具会为每个覆盖测试点生成行号范围,并且在每个方法的开头插入一个测试点。因此,如果您知道文件中方法的行号,则可以从技术上定位入口覆盖点,从而确定构成该方法的行范围,从而确定该方法中的所有测试覆盖点。使用这样的列表,可以直接计算测试覆盖向量是否达到了这些点。因此,我们的工具具有提供此数据所需的信息,尽管它没有得到很好的记录。您可以要求我们提供更多文件或帮助执行此操作。
于 2011-12-07T14:24:32.103 回答