Rails Time Helpers AKA you do not need Timecop
In the past I have used the timecop gem in specs to make sure I froze time properly and avoid brittleness around dates in RSpec.
TIL that I can use the built-in Rails Time Helpers to achieve the same results. Other than the following example, keep in mind all the other nifty “travel” options in the docs. These time helpers were introduced in Rails 5.
I can use
travel_to but I would have to put it in a
So even better, I can wrap everything in the
it scenario in a
Calls travel_to with Time.now.
describe Foo do it "bars at will" do freeze_time do user = FactoryBot.create( :user, first_name: "bar", anniversary: Date.current ) expect(user.first_name).to eq("bar") expect(user.anniversary).to eq(Date.current) end end end
Applauses and rideau.