我试图断言一个对象与另一个对象"相等".
对象只是具有一堆公共属性的类的实例.是否有一种简单的方法让NUnit基于属性断言相等?
这是我目前的解决方案,但我认为可能有更好的方法:
Assert.AreEqual(LeftObject.Property1, RightObject.Property1)
Assert.AreEqual(LeftObject.Property2, RightObject.Property2)
Assert.AreEqual(LeftObject.Property3, RightObject.Property3)
...
Assert.AreEqual(LeftObject.PropertyN, RightObject.PropertyN)
Run Code Online (Sandbox Code Playgroud)
我想要的是与CollectionEquivalentConstraint一样的精神,其中NUnit验证两个集合的内容是否相同.
public class Student
{
public string Name { get; set; }
public int ID { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
...
var st1 = new Student
{
ID = 20,
Name = "ligaoren",
};
var st2 = new Student
{
ID = 20,
Name = "ligaoren",
};
Assert.AreEqual<Student>(st1, st2);// How to Compare two object in Unit test?
Run Code Online (Sandbox Code Playgroud)
如何比较Unitest中的两个集合?