私のRubyアプリケーションには、フォームフィールドの塗りつぶしを担当するいくつかのjavascript関数を持つページがあります。問題は、このページのrspecでテストをしようとすると、javascriptが実行されないように見えて、フォームにエラーが発生することです。Rspecとjavascript
この問題を解決する方法はありますか? (フレッドの提案を使用して)
EDITは
マイspec_helper.rbファイルは次のようになります。
require 'capybara/rspec'
require 'factory_girl_rails'
require 'capybara/poltergeist'
require 'support/mailer_macros'
require 'support/test_helper'
Capybara.javascript_driver = :poltergeist
RSpec.configure do |config|
config.expect_with :rspec do |expectations|
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
end
config.mock_with :rspec do |mocks|
mocks.verify_partial_doubles = true
end
config.include FactoryGirl::Syntax::Methods
config.include Capybara::DSL
config.include(MailerMacros)
config.include(TestHelper)
config.before(:each) { reset_email }
config.expect_with :rspec do |c|
c.syntax = [:should, :expect]
end
end
そして、私のテストでは、次のようになります。
require 'rails_helper'
RSpec.describe "Courses", type: :request do
let(:user) { FactoryGirl.create(:user) }
it "should create, show, edit and delete a course" do
login user
visit course_types_path("en")
fill_in "course_type_name", :with => "driving"
click_button "Add"
visit courses_path("en")
current_path.should eq(courses_path("en"))
click_link "Create new course"
current_path.should eq(new_course_path("en"))
select "driving", from: "course_course_type_id"
fill_in "course_name", :with => "course 1"
fill_in "course_price", :with => "12"
click_link "add_date_link"
select "John Doe", from: "course_teacher_id"
fill_in "course_max_students", :with => "1"
fill_in "course_address", :with => "Rua Adriano Correia de Oliveira A, Laranjeiro, Portugal"
click_button "Create new course"
current_path.should eq(courses_path("en"))
page.should have_content("New course created successfully")
page.should have_content("course 1")
end
end
ときに変更 it "should create, show, edit and delete a course", js: true do
他のテストでは、前に作業が開始されず、リンクがクリックされたときにページが適切な場所に移動しないように見えます(ルートに行く)、このテストでは、次のようなテストが行われます:ActionController::RoutingError: No route matches [GET] "/fonts/fontawesome-webfont.woff"
はまだ動作していないようです:(同じ問題 – InesM
資料に記載このセットアップは、確かに動作します、私はそれを使用しています何を表示します。あなたは試しました – Fred