Ответ 1
- Update
Это обходное решение больше не требуется в соответствии с отчетом (см. комментарии), но я еще не проверил его.
Обнаружено обходное решение..
Мне нужно было указать URL-адрес хоста приложения и драйвер по умолчанию.
#spec/spec_helper.rb
require 'capybara'
require 'database_cleaner'
require 'capybara/dsl'
require 'capybara/poltergeist'
Capybara.configure do |c|
c.javascript_driver = :poltergeist
c.default_driver = :poltergeist
c.app_host = "http://localhost:3000"
end
Обновление 1
Чтобы исправить ошибку:
Failure/Error: visit '/item/new'
ArgumentError: rack-test requires a rack application, but none was given
Я включил файл rails_helper в мой тест Capy. окончательная версия теста:
require 'rails_helper'
require 'spec_helper'
describe 'accessibility of webpage' do
it 'should access web page' do
visit '/item/new'
expect(page).to have_content I18n.t("form_input.item.item_s")
end
end
После этого по какой-то причине указанный URL-адрес app_host больше не нужен, и его можно удалить из вспомогательного файла spec_helper. Окончательная версия:
Capybara.configure do |c|
c.javascript_driver = :poltergeist
c.default_driver = :poltergeist
end
Полная версия spec_helper.rb http://pastebin.com/DKgF1uQA
Ошибка
ActionView::Template::Error: couldn't find file 'jquery.min' (in app/assets/javascripts/application.js:13)
Произошло потому, что gem 'jquery-rails' не был доступен в тестовой области в моем Gemfile, он был доступен только в: разработке и: производственной среде. Я переместил gem 'jquery-rails' в глобальную область. Полная версия Gemfile: http://pastebin.com/dt4KrHGG