【发布时间】:2014-04-10 18:12:41
【问题描述】:
我刚开始使用代码覆盖工具(主要在 C# 中)。到目前为止,我已经测试了 NCrunch 和 DotCover。
他们似乎都在分支和函数覆盖方面做得很好,但我不能确定他们是否在做条件覆盖。例如,在我正在测试的某些代码中,只要至少有一条路径通过(或者我错了吗?),以下显示的内容就被涵盖了。但是,在我看来,只有在通过代码的两个逻辑路径都被覆盖的情况下才应该被覆盖。
if (item != "")
{
glc.AddGrayListItem(GrayListTypeEnum.BlackList, item);
}
我想知道的是,DotCover 或 NCrunch(或任何其他 C# 工具)是否会告诉我这不包括在内,除非两种情况 (item != null) 和 (item == null) 都经过测试.
我查看了各种网站,但似乎无法找到关于这些工具中的任何一个是否以这种方式工作的明确答案,或者是否有另一种工具以这种方式工作。你们中的任何人都对各种代码覆盖工具提供或不提供哪些类型的覆盖有明确的信息吗?
【问题讨论】:
-
我不太确定我能做些什么来使这个评论更有成效或研究得更多。我已经查看了产品的论坛,搜索了这个站点以及其他站点,但还没有遇到任何简明的答案。任何帮助将不胜感激。
-
好的,我试图将这个问题重新定义为更注重事实。我对人们对哪些覆盖工具更好/更差的看法并不感兴趣。我很想知道哪些工具能够满足哪些类型的覆盖标准,或者如何获得我提到的工具来满足我的需求。
标签: c# code-coverage ncover dotcover ncrunch