我有以下测试:
it 'gives the correct last parsed result' do
expect(FactoryGirl.create(:category_page_with_parsed_results).last_parsed_result.date).to eql(Date.parse('2012-01-01'))
end
它失败了:
expected: Sun, 01 Jan 2012
got: Sun, 01 Jan 2012 00:00:00 UTC +00:00
这里的事情是,当我创建那个工厂时,我根本不写任何00:00:00的时间,所以我不知道为什么它会以这种方式返回。
有关如何测试此问题的任何想法?
答案 0 :(得分:2)
好的,这样做
expect(FactoryGirl.create(:category_page_with_parsed_results).last_parsed_result.to_date).to eql(Date.parse('2012-01-01'))
答案 1 :(得分:0)
所以我猜你的“last_parsed_result”对象有一个存储在数据库中的日期属性。在irb(Ruby 2.1.0)控制台中玩游戏我有:
require 'date'
Date.parse('2012-01-01').to_s => "2012-01-01"
DateTime.parse('2012-01-01').to_s => "2012-01-01T00:00:00+00:00"
我的猜测是last_parsed_result.date是一个DateTime对象,这就是为什么你得到00:00:00的时间。