我在 spec/views/posts/index.html.haml_spec.rb 中收到此 rspec 错误:
undefined method `in_time_zone' for nil:NilClass
这是视图(index.html.haml)中出现错误的行
= event.event_datetime.in_time_zone('Eastern Time (US & Canada)').strftime('%a, %l:%M %p')
我肯定在我的事件制造器中制造了 event_datetime
Fabricator(:event) do
event_datetime { 5.days.from_now }
这是 rspec 测试
describe "posts/index.html.haml" do
context "with events" do
before(:each) do
view.stub(:sign).and_return("+")
assign(:events, [
an_event1 = stub_model(Event),
an_event2 = stub_model(Event),
an_event3 = stub_model(Event)
])
end
it "displays the page" do
render
rendered.should contain("EventName")
end
end
end
有任何想法吗?event.event_datetime 不应该为零……我显然是捏造的。