我正在编写一些单元测试并想检查结果列表。
这是我正在做的一个简单的例子:
[Test]
public void FilterSomething_Test()
{
List<MyClass> testdata = new List<MyClass>
{
new MyClass { SomeProperty = "expectedValue" },
new MyClass { SomeProperty = "expectedValue" },
new MyClass { SomeProperty = "unexpectedValue" },
new MyClass { SomeProperty = "unexpectedValue" },
new MyClass { SomeProperty = null },
}
List<MyClass> result = FilterSomething(testdata);
Assert.That(
result.Where(r => r.SomeProperty == "expectedValue"),
Has.Exactly(2).Items,
"Two Items should match this..");
}
失败测试的输出:
两个项目应该与此匹配..
预期:正好 2 件
但是是:没有项目
输出并没有解释出了什么问题。
说明:我有多个测试的测试数据。这就是为什么我想在每次测试中检查特定项目。
我的问题:
有没有办法检查列表中的项目计数并从中获取正确的消息NUnit?
也许像
Assert.That(result, Contains.Exacly(2).Items.Which(i => i.SomeProperty == "expectedValue"))
森林海
白衣染霜花
相关分类