Building the Rails ActionDispatch::SystemTestCase framework
summary
Rails 5.1 adds a built-in system test framework that wires Capybara and Selenium (defaulting to Chrome) into the test stack with zero app configuration, includes URL helpers, and runs separately via bin/rails test:system. It fixes transaction rollback by forcing threads to share the same DB connection, speeds up integration tests so system tests can inherit from them, and captures auto screenshots on failures. The feature ships after six months of work and community fixes that make it practical.
AI-written summary · about
chapters (18)
- 0:00Introduction and speaker intro
- 1:48Why system testing in Rails
- 3:20What is a system test
- 4:24Demo of system test in action
- 7:22Challenges building system tests
- 9:51Learning Capybara from scratch
- 11:17Rails doctrine guiding design
- 13:44Default configuration choices
- 17:27Why Chrome over Firefox
- 18:31Driver options and screenshots
- 20:19Fixing database transaction issues
- 23:30Plumbing behind system tests
- 25:37Open source vs product work
- 27:40Managing open source opinions
- 30:33Balancing Rails and Capybara
- 32:00Merging unfinished features
- 34:27Open source contributions matter
- 35:09Closing and call to action
related talks
40mBuilding Rails ActionDispatch::SystemTestCase Framework
31mQuick and easy browser testing using RSpec and Rails 5.1
43mSecrets of Testing Rails 5 apps
37mSecrets of Testing Rails 5 Apps
31mSecrets of Testing Rails 5 Apps
01h 19mBDD and Acceptance Testing with RSpec & Capybara
23mAdaptive Testing
28mTeaching RSpec to Play nice with Rails
