该测试如何失败?
[TestMethod]
public void Get_Code()
{
var expected = new List<int>();
expected.AddRange(new [] { 100, 400, 200, 900, 2300, 1900 });
var actual = new List<int>();
actual.AddRange(new [] { 100, 400, 200, 900, 2300, 1900 });
Assert.AreEqual(expected, actual);
// Assert.AreSame(expected, actual) fails
// Assert.IsTrue(expected.Equals(actual)) fails
}
最佳答案
要对集合进行断言,应使用 CollectionAssert
:
CollectionAssert.AreEqual(expected, actual);
List<T>
不会覆盖Equals
,因此,如果Assert.AreEqual
仅调用Equals
,它将最终使用引用相等性。关于c# - 如何在单元测试中比较列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11055632/