当我比较两个空列表时,为什么测试'Assert.AreEqual'失败了?

Eri*_*tas 10 c# unit-testing

我有一个类MyCustomClass:

public MyCustomClass
{
    public MyCustomClass()
    {
        MyObject = new List<MyCustomObject>();
    }

    public List<MyCustomObject> MyObject {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

在测试中:

List<MyCustomObject> aux = new List<MyCustomObject>();
MyCustomClass oClass = new MyCustomClass();
Assert.AreEqual(aux, oClass.MyObject)
Run Code Online (Sandbox Code Playgroud)

测试失败了,为什么?每个属性,静态成员等都是相同的.

Ree*_*sey 19

在这种情况下,Assert.AreEqual将检查两个对象是否相同,但它们不是.您应该使用CollectionAssert.AreEqual,如果两个"具有相同顺序和数量的相同元素",则返回true.