Railsアプリケーションでは、私はCapeebara Webkitを使ってRSpecを使ってDeleteリンクが動作していることをテストしています。私のRailsでCapybara :: Webkit :: Driverの未定義メソッドaccept_modal
私が持っているテンプレート:
<%= link_to 'Delete', movie_path(@movie),
method: :delete, data: { confirm: 'Are you sure?' } %>
そして、これが私のスペックです:
require 'rails_helper'
describe "Deleting a movie", js: true do
it "destroys the movie and shows the movie listing without the deleted movie" do
movie = Movie.create(movie_attributes)
visit movie_path(movie)
page.accept_confirm do
click_link 'Delete'
end
expect(current_path).to eq(movies_path)
expect(page).not_to have_text(movie.title)
end
end
私はエラーを取得する:
NoMethodError:
undefined method `accept_modal' for #<Capybara::Webkit::Driver:0x007febc2214908>
それは右のドライバ(のWebkitを使用しています)、それはaccept_modal
(page.accept_confirm
によって呼び出されなければならない)を見つけるようには見えない。
私が使用している:を使用すると、以下のに動作することを
capybara (2.14.0)
capybara-webkit (1.1.0)
rails (5.1.1)
rspec (3.6.0)
rspec-rails (3.6.0)
注:
click_link 'Delete'
page.driver.browser.accept_js_confirms
をしかし、私はaccept_confirm
がない理由を理解したいと思います。