Project

General

Profile

Feature #35030

Updated by Go MAEDA almost 3 years ago

Rails 6.0 or later supports parallel testing. Enabling this feature can reduce the time required for testing and improve development efficiency. 
 https://guides.rubyonrails.org/testing.html#parallel-testing https://guides.rubyonrails.org/testing.html#parallel-testing-with-threads 

 By applying the following patch and run the test suite with @PARALLEL_WORKERS=6@ environment variable in my environment, the time required to run the test suite was reduced to about 30%. 

 <pre><code class="diff"> 
 diff --git a/test/test_helper.rb b/test/test_helper.rb 
 index 10f4f6e35..95b877d44 100644 
 --- a/test/test_helper.rb 
 +++ b/test/test_helper.rb 
 @@ -53,6 +53,8 @@ class ActionView::TestCase 
  end 
 
  class ActiveSupport::TestCase 
 +    parallelize(workers: 1) 
 + 
    include ActionDispatch::TestProcess 
 
    self.use_transactional_tests = true 
 </code></pre> 

 The reason why the number of workers is set to 1 is that parallel testing causes some errors in system test.

Back