Where方法的代码覆盖率

时间:2013-06-11 10:31:26

标签: visual-studio-2012 code-coverage

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

enter image description here

有人想知道这个区块的涵盖吗?

1 个答案:

答案 0 :(得分:1)

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

顺便提一下,Assert.IsNotNull(exchangeRate)不会测试欧元是否在列表中作为来源货币,因为(除非我犯了很多错误)Where将始终返回IEnumerable,即使来源{ {1}}为空。您需要测试IEnumerable(以及exchangeRate)是否有任何成员。