Я новичок в Rspec и Capybara. Ошибка я получаю навигация с домашней страницы Домашняя галерея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
Является ли использование mocks/stubs на тестах характеристик плохой практикой? Я пошел вперед и реализовал Factory Girl, как было предложено. – ltrainpr
Мое предпочтение - использовать сохраненные объекты в тестах интеграции, но на мой взгляд, я не придаю большого значения.Обратите внимание, что с FactoryGirl вы можете создавать оштукатуренные версии ваших объектов, чтобы избежать попадания в db, где вы предпочитаете не делать этого. –