0

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

在此处输入图像描述

有人知道要覆盖这个块吗?

4

1 回答 1

1

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

顺便说一句,Assert.IsNotNull(exchangeRate)不会测试 EUR 是否在列表中作为源货币,因为(除非我错了很多)Where总是会返回一个IEnumerable,即使源IEnumerable是空的。您需要测试exchangeRate(以及就此而言,list)是否有任何成员。

于 2013-06-11T14:01:56.033 回答