NUnit Assert.AreEqual(对象a,对象b)假阴性?

0 c# nhibernate nunit

我无法理解为什么NUnit Assert.AreEqual失败了.

var dataService = new DataService(db);
dataService.Set("Tests", "circle1", circle);
var circleData = dataService.Get("Tests", "circle1");
Assert.IsNotNull(circleData);
var circleCopy = circleData.Get();
Assert.AreEqual(circle, circleCopy);
Run Code Online (Sandbox Code Playgroud)

使用NHibernate(存储序列化数据,然后反序列化).我插入了一个断点并检查了局部变量窗口中的对象 - 它们是相同的.

这是NUnit消息:

Assert.AreEqual failed. Expected:<TestData.TestClassCircle>. Actual:<TestData.TestClassCircle>.
Run Code Online (Sandbox Code Playgroud)

当对象看起来相同时,为什么这个测试会失败?

Ken*_*art 15

什么是CircleData?它覆盖了Equals吗?在我看来你正在克隆它,这意味着你有两个独立的CircleData实例.除非CircleData覆盖Equals,否则它将执行引用相等性检查,这将失败.