~/talk

Building Rails ActionDispatch::SystemTestCase Framework

Talkat RailsConf 2017 · 2017-04-25..04-27· [ruby-on-rails, testing]
slides:none on file

Rails 5.1 ships a concrete system test integration: ActionDispatch::SystemTestCase wires Capybara into Rails so scaffolds include Capybara + Selenium + Chrome by default, driven by a single driven_by call, runs with rails test:system, and captures screenshots on failure. The implementation fixes threaded DB transaction visibility by forcing shared connections (with help from Aaron Patterson and Matthew Draper), and the feature lands after a three‑year promise and about six months of focused work.

AI-written summary · about

  1. 0:00Intro
  2. 1:32IS DEAD
  3. 2:063 years later...
  4. 2:59Tests your application as a whole system
  5. 6:37Why did it take 3 years?
  6. 7:16Integration tests were slowww....
  7. 8:29Basecamp
  8. 10:22Guiding Principles
  9. 11:10Optimize for programmer happiness
  10. 11:52There is zero configuration required to use Capybara with Rails 5.1
  11. 12:49Value integrated systems
  12. 13:17Rails as a whole now addresses system testing
  13. 13:37Progress over stability
  14. 14:13When system tests were merged there were a few known bugs
  15. 14:53Implementation & Architecture
  16. 15:14Config defaults: Why Selenium?
  17. 15:57Selenium doesn't require system installs
  18. 16:19Can see the tests running in the browser
  19. 16:42Better for beginners learning Rails and Capybara
  20. 17:28Config defaults: Why Chrome?
  21. 17:45For awhile, Firefox was broken with Selenium
  22. 18:58Config defaults: Failure Screenshots
  23. 20:14Database Cleaner not required
  24. 20:56The first connection can't see the data inserted on the second connection
  25. 22:17Test transaction opens a connection
  26. 22:49Plumbing
  27. 24:40Open Source Features
  28. 24:56Public Work
  29. 25:38Feels like everyone is judging you
  30. 29:00Manage expectations
  31. 29:33Know who you are building the feature for
  32. 30:13Be open to change
  33. 30:57Open source doesn't work without contributors
  34. 31:24Build a foundation for others to work off of
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.