テスト以外の部分は正常に動いています。テストもモデルのテストは通常に行えています。
JSはJQueryを使用していて、各ビューファイルごとに動かすファイルを指定しています。具体的には
application.jsの//= require_tree .
を削除して、各hamlファイルで= javascript_include_tag 'reservations.js'
のようにしています。
RSpecはEveryday Rails - RSpecによるRailsテスト入門を参考にしています。
gemfileのtestに'gem 'capybara', '~> 2.15.4'
とgem 'webdrivers'
とgem 'launchy', '~> 2.4.3'
を書きインストールして、
spec/rails_helper.rbにのDir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
のコメントアウトを外し、support/ディレクトリ内に適当なファイルを作ってCapybara.javascript_driver = :selenium_chrome
を書きました。
テストファイルに
require 'rails_helper' RSpec.feature "Ryoteis", type: :feature do scenario "", js: true do member = FactoryBot.create(:member, grade: 3) login_as(member, scope: :member) visit reservations_path click_on "新規予約" expect(page).to have_content '登録' end end
とjs用の記載をしました。
この状態でテストを実行すると、ヘッドレスにしていないのでブラウザが立ち上がり、JSで構築される部分が構築されていないビューが見て取れます。
どこかに間違いがあるでしょうか?よろしくお願いいたします。