Testing Save and Open Page Debugging Workflow in Capybara
This test suite examines Capybara’s save_and_open_page functionality, which allows developers to debug their tests by saving and viewing the current state of the page. The specs verify the interaction between Capybara and the Launchy gem for opening saved HTML pages in a browser.
Test Coverage Overview
Implementation Analysis
Technical Details
Best Practices Demonstrated
teamcapybara/capybara
lib/capybara/spec/session/save_and_open_page_spec.rb
# frozen_string_literal: true
require 'launchy'
Capybara::SpecHelper.spec '#save_and_open_page' do
before do
@session.visit '/foo'
end
after do
Dir.glob('capybara-*.html').each do |file|
FileUtils.rm(file)
end
end
it 'sends open method to launchy' do
allow(Launchy).to receive(:open)
@session.save_and_open_page
expect(Launchy).to have_received(:open).with(/capybara-\d+\.html/)
end
end