[英]FluentAssertion failing on Mongo DateTime comparisons
我有一个使用FluentAssertion的单元测试,类似于:
var instance = new ServiceInstance(name, "1.0.0", new Uri("http://www.google.com"));
var id = registry.RegisterInstance(instance);
registry.ExistsInstance(id).Should().BeTrue();
var queryiedInstance = registry.QueryForInstance(id);
queryiedInstance.ShouldBeEquivalentTo(instance);
该最新断言失败,并显示以下消息:
Result Message:
Expected member RegistrationData.RegistrationTime to be <2015-10-13 08:36:20.619>, but found <2015-10-13 08:36:20.619>.
Expected member RegistrationData.LastActivationTime to be <2015-10-13 08:36:20.619>, but found <2015-10-13 08:36:20.619>.
Expected member RegistrationData.LastPinged to be <2015-10-13 08:36:20.619>, but found <2015-10-13 08:36:20.619>.
如您所见,FluentAssertion报告相同的日期时间,但是失败。
在这种情况下,我的注册表后端是MongoDB,可以通过最新的C#驱动程序进行访问。 但是,它可以使用特定断言不会失败的其他后端(例如,Zookeeper或Consul)。
所以我的猜测是问题出在Mongo C#驱动程序而不是FluentAssertion。 我在Mongo中使用了DateTime序列化选项(我在所有地方都使用UTC,而且似乎也是Mongo的默认设置),但没有成功。 有什么问题的想法吗?
谢谢你的帮助。
我怀疑这两个DateTime
实例的刻度不同。 如果是这样,则可以通过使用特定的 DateTime
断言BeCloseTo
来解决此BeCloseTo
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.