我刚开始使用代码覆盖工具(主要在 C# 中)。到目前为止,我已经测试了 NCrunch 和 DotCover。
他们似乎都在分支和函数覆盖方面做得很好,但我不能确定他们是否在做条件覆盖。例如,在我正在测试的某些代码中,只要至少有一条路径通过(或者我错了吗?),以下显示的内容就被涵盖了。但是,在我看来,只有在通过代码的两个逻辑路径都被覆盖的情况下,它才应该被覆盖。
if (item != "")
{
glc.AddGrayListItem(GrayListTypeEnum.BlackList, item);
}
我想知道的是,DotCover 或 NCrunch(或任何其他 C# 工具)是否会告诉我这不包括在内,除非两种情况 (item != null) 和 (item == null) 都经过测试。
我查看了各种网站,似乎无法找到关于这些工具中的任何一个是否以这种方式工作的明确答案,或者是否有另一种工具以这种方式工作。你们中的任何人都对各种代码覆盖工具提供或不提供哪些类型的覆盖有明确的信息吗?