为什么空集合断言在 MSTest 中不起作用?
我有一个如下的断言
Assert.AreEqual(1.Primes(), new List());
其中 Primes 返回 IList,素数的代码是
公共静态类 PrimesKata { 公共静态 IList Primes(this int n) { 返回新列表(); } }
你可以猜到的,我正在尝试素数 kata,当使用 MSTest 进行单元测试时,此测试失败,但相同的代码在 NUnit 中工作得很好。我需要在 MSTest 中做一些额外的事情才能通过此测试吗?
I have an assertion like the following
Assert.AreEqual(1.Primes(), new List());
Where Primes returns IList and the code for primes is
public static class PrimesKata
{
public static IList Primes(this int n)
{
return new List();
}
}
as you can guess I am trying out the prime number kata, when using MSTest for unit testing this test fails but the same code works just fine in NUnit. Is there something extra I need to do in MSTest for this test to pass?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
NUnit 的
Assert
支持集合的相等性。MSUnit 没有。您可以在 MSTest 中使用
CollectionAssert
来代替。在 .NET 中(例如,与 Java 不同),两个列表并不相等,因为它们具有相同的内容。
NUnit's
Assert
supports equality of collections.MSUnit doesn't. You can use
CollectionAssert
in MSTest instead.In .NET (unlike Java, for instance) two lists are not equal just because they have the same contents.