Overview
Explore parallel testing techniques using Ractors in Ruby 3 through this RubyConf 2021 conference talk. Dive into the potential of Ractors for reducing test suite runtime by building a test framework from scratch. Compare current parallelization solutions with Ractor-based approaches, examining their advantages and limitations. Learn about various execution strategies, including queue-based and work-stealing methods. Understand the existing Rails Minitest plugin for test parallelization and discover how Ractors communicate and function in a worker pool. Investigate test framework components such as reporting, utilities, and execution steps. Analyze the differences between Ractors and Processes, and gain insights into potential bugs and challenges in implementing parallel testing with Ractors.
Syllabus
Intro
Test execution strategies
Groups
Execution strategy #1
Queue
Execution strategy #2
Work stealing
Execution strategy #3
Existing strategy for parallelizing tests
Rails Minitest plugin
Ruby 3.0 - Ractors
Ractors - Communication
Ractors - Worker pool example
Test frameworks - reporting
Test frameworks - utilities & reporting
Test frameworks - execution steps
Parallelizing our framework
Ractors vs Processes
Highlights
Bug hunt!
Taught by
Ruby Central