我无法理解为什么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,否则它将执行引用相等性检查,这将失败.