使用delta参数和错误消息对2个不同日期的刻度进行比较并没有编译,看起来它认为我正在使用不同的重载方法。我也尝试过没有错误的msg,类似的:期望的int,int,string问题。
Assert.AreEqual((double)data.LastModified.Ticks,(double)DateTime.UtcNow.Ticks,300000000M,“上次修改未设置”);
我会使用重载#9或#16(带有错误消息),但编译器认为我想要int, int, string, object
签名。
有什么想法吗?
答案 0 :(得分:2)
我不清楚你的例子中的“数据”是什么,但这里是我将如何比较刻度。
DateTime data= new DateTime(2014,12,23);
DateTime data2 = new DateTime(2014, 12, 24);
Assert.AreEqual((double)data.Ticks,(double)data.Ticks,(double)3000M, "msg 1");
Assert.AreEqual((double)DateTime.Today.Ticks,(double)DateTime.UtcNow.Ticks, (double)300000M, "msg 2")
答案 1 :(得分:2)
Delta param必须是双倍才能发挥作用。
但是,我不会为此目的使用双打。相反,我会做
Assert.That(data, Is.EqualTo(data2).Within(3000).Ticks);
它使代码更容易理解。