rspec在伪造属性上抛出nil错误

时间:2013-08-01 13:45:34

标签: ruby-on-rails ruby-on-rails-3 rspec rspec2

我在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制作者

中制作了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不应该是nil ...我清楚地编写它。

0 个答案:

没有答案