我一直在寻找一种方法来检查两个对象,但我找到了Equals,Assert,AreEqual和其他一些对象,我不知道应该使用哪一个。此外,我一直在用新的Nunit语法进行测试,并且很难找到用于比较两个对象的新语法。下面是我的测试,我的代码:Nunit 2.5.10 - 无法比较两个对象
[Test]
public void CheckForDriversSelectedMoreThanOnce_ReturnsDriversSelectedMoreThanOnceAndTheirSelectedPositions()
{
//arrange
Prediction prediction = new Prediction();
Driver expected = new Driver { position = 1, name = "Michael Schumacher" };
//act
var actual = prediction.CheckForDriversSelectedMoreThanOnce();
//assert
//Assert.That(actual, Is.EqualTo(expected));
//Assert.That(Is.Equals(actual, expected);
Assert.AreEqual(expected, actual);
}
public Driver CheckForDriversSelectedMoreThanOnce()
{
Driver driver = new Driver { position = 1, name = "Michael Schumacher" };
return driver;
}
线Assert.That(actual, Is.EqualTo(expected));
和Assert.AreEqual(expected, actual);
给我 预期: 不过是:
的其他线路Assert.That(Is.Equals(actual, expected);
给我: 预计:真 不过是:假
我过快有匹配,没有看到您的编辑呢。 – DerMeister
是的,并定义决定'匹配'的自定义逻辑 – ChrisBint