Assert.Equals()永远不会调用NUnit Assert.Equals我错过了什么?
Equals()
operator ==
operator !=
我缺少的东西?我已经实现了IEquatable,但仍然不会在使用nunit时调用这些方法。
if (objectA != objectB) Assert.Fail(); //doesnt fail
if (!objectA.Equals(objectB)) Assert.Fail(); //doesnt fail
Assert.AreEqual(objectA, objectB); //fail
UPDATE
我本来应该更清晰。两者使用相同的ID我已经实现了所有的相关方法
public class Entity
{
public int ID { get; set; }
}
var objectA = new Entity() { ID = 1 };
var objectB = new Entity() { ID = 1 };
两个独立的情况下,使这项工作的==,!=和equals但NUnit的AreSame和AreEqual仍无法调用这些方法。
我有完全相同的问题。现在我正在使用 Assert.IsTrue(objectA.Equals(objectB)); – 2010-02-04 11:08:33
我有同样的问题,我已经确定它的作品,如果我比较的对象是*不是*相同的参考。即创建2个具有不同属性的属性,然后Assert.Equals工作...如果它被相同的引用进行比较(肯定是相等的),那么它会失败! (NUnit 2.5) – PandaWood 2016-07-28 08:02:49
您正在寻找`Assert.AreEqual(objA,objB);` – DanielV 2016-08-03 07:23:36