【发布时间】:2009-11-24 14:39:09
【问题描述】:
NUnit 的一些 Assert 方法被重载以使用 ICollection 而不是 ICollection<T>,因此您不能使用它们。
这有什么问题吗?哎呀,我是在做傻事吗?
我不得不退回到使用Assert.AreEqual 而不是专门的方法,这让我的测试变得丑陋。
有什么建议吗?
编辑:
感谢您的回复。 NUnit 的That 方法看起来很有趣,所以我会在以后研究它。
Mark 正确地提到了这一点,但 NUnit Collection Asserts 非常好。我最近在一些新测试中使用了它们,发现它们非常适合使用。
【问题讨论】:
-
我应该提到,在我的课堂上我正在测试。将方法返回类型更改为 List
而不是 IList 解决了这个问题,但反过来我公开了 List ,我不想因为在 SO 等上大量讨论的原因而公开。 -
使用 linq 将您的集合转换为列表应该没有害处,只要您不断言集合中不存在的任何内容。例如,断言 ForEach 方法有效是错误的形式。
标签: c# unit-testing nunit