创建NUnit约束意味着“{collection}不包含{item}”

时间:2010-09-27 16:32:37

标签: c# nunit

我正在努力对枚举中缺少特定项目做出断言。具体来说,这就是我的测试结果:

// Take an item from a queue of scheduled items...
ItemQueue pendingQueue = schedule.PendingItems; // PendingItems is an IEnumerable<int>
int item = pendingQueue.FirstItem;

// ...process the item...
processor.DoSomethingWith(item);

// ...and the schedule must not contain the item anymore:
Assert.That(schedule.PendingItems, Does.Not.Contain(item));

当然, Does.Not.Contain 不是有效的nUnit约束。如何用有效的流利语法表达它?

3 个答案:

答案 0 :(得分:48)

Assert.That(schedule.PendingItems, Has.No.Member(item))

仅限NUnit 2.4 / 2.5

答案 1 :(得分:12)

使用CollectionAssert方法:

CollectionAssert.DoesNotContain(schedule.PendingItems, item);

答案 2 :(得分:5)

如果您使用的是NUnit 2.4 / 2.5,可以查看collection constraints