我是Rspec和水豚的新手。我得到的錯誤是從主頁導航參觀畫廊rspec:未定義方法`推薦書'爲零:NilClass
故障/錯誤:參觀root_path
NoMethodError:未定義的方法`推薦的零:NilClass
我試圖讓兩種不同的方法,以在規範中定義一個變量。我已經添加了他們兩個,所以我可以得到有關我在做什麼錯誤的反饋。
class WelcomeController < ApplicationController
def index
@event = Event.last
@event.testimonials.first ? @latest_testimonial = @event.testimonials.first.id : @latest_testimonial = nil
end
end
feature 'Navigation from homepage' do
before :each do
visit root_path
find('#nav-menu').find('h1').click #opens up navigation bar
end
scenario 'Visit Gallery' do
find('#nav-gallery').find('.no_bar').click
let(:event) {Event.last} #1st attempt at solving Rspec error.
let(:event) {mock_model(Event, id: 3, name: "Jack & Jill", date: "2004-06-10", created_at: "2014-03-10 02:57:45", updated_at: "2014-03-10 02:57:45")} #2nd attempt at solving Rspec error.
controller.stub(:event)
expect(page).to have_css 'img.photos'
end
end
在功能測試不良練習中使用嘲笑/存根(stub)嗎?我已經提前按照建議實施了Factory Girl。 – ltrainpr
我自己的偏好是在集成測試中使用持久對象,但我並不認爲我的意見很多。請注意,使用FactoryGirl,您可以構建對象的存根版本,以避免碰到不希望這樣做的db。 –