【发布时间】:2012-06-23 12:30:27
【问题描述】:
我正在使用 XUnit 框架来测试我的 C# 代码。
在这个框架中是否有任何可用的断言方法来进行对象比较?我的目的是检查每个对象的公共和私有成员变量是否相等。
我尝试了这些替代方法,但很少奏效:
1) bool IsEqual = (Obj1 == Obj2)
2) Assert.Same(Obj1, Obj2) which I couldnt understand what happens internally
【问题讨论】:
-
xUnit 中有“深度比较”。您必须为您的对象实现 IEquatable
,然后 Assert.Equals 将起作用。 -
Assert.Same()按引用比较;它断言Obj1和Obj2是相同 对象,而不仅仅是看起来 相同。