由于日期格式不同,测试失败

Test fails because of differences in date formats

下面的测试比较了两个日期。由于日期格式不同,测试失败。我怎样才能使这个测试工作?

expiration = Time.zone.now - 50.days
# some lines to update @organization with a new expiration
assert_equal @organization.exp, expiration
# puts @organization.exp => Mon, 16 Nov 2015
# puts expiration => Mon, 16 Nov 2015 14:22:39 CET +01:00

使用Time#to_date方法,喜欢

assert_equal @organization.exp, expiration.to_date

@organization.exp好像是Date,但是expiration不是:

expiration = Time.zone.now - 50.days
#=> Mon, 16 Nov 2015 14:36:06 CET +01:00

expiration.class
#=> ActiveSupport::TimeWithZone

要获取时区感知 Date 实例,您可以使用 Date#current and alter it using DateAndTime::Calculations#days_ago:

expiration = Date.current.days_ago(50)
#=> Mon, 16 Nov 2015

expiration.class
#=> Date