我有一个由Visual Studio 2012代码覆盖率进行分析的测试方法,但我总是得到一个结果,即Where方法(或Any或......)中的lambda被报告为未覆盖
有人想知道这个区块的涵盖吗?
答案 0 :(得分:1)
可能是你的清单是空的。在这种情况下,lambda将永远不会运行。如果突出显示的颜色是黄色,我建议你的lambda可能不会评估两个子句,因为item.SourceCurrency
总是为空。
顺便提一下,Assert.IsNotNull(exchangeRate)
不会测试欧元是否在列表中作为来源货币,因为(除非我犯了很多错误)Where
将始终返回IEnumerable
,即使来源{ {1}}为空。您需要测试IEnumerable
(以及exchangeRate
)是否有任何成员。