我有以下扩展方法,它只是对Linq.Any()
的否定这两个UnitTests完全测试它
[TestMethod]
public void EnumerableExtensions_None_WithMatch()
{
Assert.IsTrue(_animals.None(t => t.Name == "Pony"));
}
[TestMethod]
public void EnumerableExtensions_None()
{
var emtpyList = new List<Animal>(); { };
Assert.IsTrue(emtpyList.None());
}
正如您在图片中看到的,当我运行代码覆盖率分析时,由于延迟执行,代理主体未被覆盖(白色选择)。
这个问题接近问题: Code Coverage on Lambda Expressions
但是并没有完全解决它:由于List必须保持空白,因此不可能真正进入那段代码。
我很想用[ExcludeFromCodeCoverage] ...
标记片段你会如何编写UnitTest?