字符串日期比较

kat*_*e77 0 .net c# fluent-assertions

在BDD测试中,我正在比较日期.比较日期时以字符串形式.即使两个日期都相同,我也会收到此消息并且测试失败

预期对象为"01/20/2012 12:00:00 AM",但发现"1/20/2012 12:00:00 AM".

还有一件事就是在我的系统上发生这种情况.如果我要求其他开发人员进行测试,测试通过正常.我缺少某种类型的设置吗?

它的代码部分是

            customer["DateOfBirth"].Should().Be(Helper.DateOfBirth.ToString());
Run Code Online (Sandbox Code Playgroud)

客户是哈希表的地方.这个特别声明在其他机器上通过OK但不在我的机器上.

我知道我可以通过更改日期比较而不是字符串比较来修复它.但我很好奇,因为这在其他机器上很好.

Jon*_*eet 6

在BDD测试中,我正在比较日期.比较日期时以字符串形式.

这听起来像你的问题.我的猜测是你将默认文化中格式化的日期与其他文化中手工格式化的日期进行比较.

解决方案是执行与DateTime值的比较,而不是依赖于格式化的值.允许测试运行器格式化两个值(如果它们不同).