首页 文章

Where方法的代码覆盖率

提问于
浏览
0

我有一个由Visual Studio 2012代码覆盖率进行分析的测试方法,但我总是得到一个结果,即Where方法(或Any或...)中的lambda被报告为未覆盖

enter image description here

任何人都有任何想法让这个块被覆盖?

1 回答

  • 1

    可能是你的清单是空的 . 在这种情况下,lambda将永远不会运行 . 如果突出显示的颜色是黄色,我建议你的lambda可能不会评估两个子句,因为 item.SourceCurrency 总是为空 .

    顺便说一下, Assert.IsNotNull(exchangeRate) 不会测试欧元是否在列表中作为源货币,因为(除非我很多错误) Where 将始终返回 IEnumerable ,即使源 IEnumerable 为空 . 你需要测试 exchangeRate (就此而言, list )是否有任何成员 .

相关问题