该测试如何失败?

[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/

10-10 21:34