Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Building the Rails ActionDispatch::SystemTestCase Framework At the 2014 RailsConf DHH declared system testing would be added to Rails. Three years later, Rails 5.1 makes good on that promise by introducing a new testing framework: ActionDispatch::SystemTestCase. The feature brings system testing to Rails with zero application configuration by adding Capybara integration. After a demonstration of the new framework, we'll walk through what's uniquely involved with building OSS features & how the architecture follows the Rails Doctrine. We'll take a rare look at what it takes to build a major feature for Rails, including goals, design decisions, & roadblocks. Eileen Uchitelle is a Senior Systems Engineer at GitHub where she works on improving the GitHub application, related systems, and the Ruby on Rails framework. Eileen is an avid contributor to open source and is a member of the Rails Core Team. She's passionate about performance, security, and getting new programmers contributing to OSS.
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the talk titled "Building the Rails ActionDispatch::SystemTestCase Framework" by Eileen Uchitelle at RubyNation 2017, the focus is on the introduction and development of the system testing framework in Rails, specifically the ActionDispatch::SystemTestCase, which was officially introduced in Rails 5.1. The presentation traces the background of system testing within Rails and its evolution following a declaration by DHH at the 2014 RailsConf that Rails needed better support for full-system tests. Eileen outlines her personal journey and challenges faced during the six-month development of this feature, highlighting the following key points: - **System Testing Introduction**: Rails 5.1 includes system testing with Capybara integration, allowing users to run system tests without extensive configuration. System tests assess the application as a whole, contrasting with unit tests that focus on individual components. - **Development Process**: Eileen discusses the importance of making system tests easy to set up for programmers. This involved integrating Capybara into new Rails applications automatically, including necessary test helpers with minimal manual configuration. - **Challenges Overcome**: Several challenges delayed the introduction of system tests, primarily improving integration test performance and the understanding of Active Record in a multi-threaded database environment, which complicated test setups. - **Key Design Decisions**: Choices around using Selenium as the default driver for system tests, favoring visibility and ease of use for beginners over the faster but headless options. Other decisions included using Chrome to avoid compatibility issues witnessed with Firefox. - **Open Source Contributions**: Eileen reflects on her experience contributing to open source, emphasizing the collaborative nature of developing the new testing framework and the respect for community feedback. Her approach maintained alignment with Rails’ core principles, focusing on programmer happiness and reducing setup complexity. - **Impacts and Lessons**: The talk concludes with reflections on the benefits of community involvement in refining the system tests, the importance of embracing contributions, and the evolution of software features through open collaboration. Eileen encourages participation in open source, showcasing the potential for impactful contributions to the Rails framework. In summary, the introduction of system tests in Rails 5.1 represents a significant step in making testing more accessible and effective, driven by community needs and collaborative efforts.
Suggest modifications
Cancel