Feature #35030
Allow parallel testing
Status: | Closed | Start date: | ||
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | % Done: | 0% | ||
Category: | Rails support | |||
Target version: | 5.0.0 | |||
Resolution: | Fixed |
Description
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
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%.
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
The reason why the number of workers is set to 1 is that parallel testing causes some errors in system test.
Associated revisions
Allow parallel testing (#35030).
Patch by Go MAEDA.
Update svn:ignore to ignore SQLite3 databases for parallel testing (#35030).
Update .gitignore to ignore SQLite3 databases for parallel testing (#35030).
Update .hgignore to ignore SQLite3 databases for parallel testing (#35030).
History
#1
Updated by Go MAEDA 11 days ago
- File 35030.patch
added
- Subject changed from Enable parallel testing to Allow parallel testing
- Target version set to 5.0.0
Setting the target version to 5.0.0.