parallel_tests
#rspec
概要
parallel_testsはrspecやminitestなどでも利用できるように抽象化されている
並列するプロセス1つ毎に1つのDBを使用する
parallel_testsでは、テストの並列実行のために、以下2つを行なっている
CPUコア数を取得
環境変数もしくはEtc.nprocessorsを使ってコア数を取得している
GitHub Actions上でparallel_testsを使いテストを並列実行する
各コアでテストを実行
code:database.yaml
test:
<<: *default
database: parallel_tests_db_test<%= ENV'TEST_ENV_NUMBER' %>
DBナンバリングするため所定の環境変数を付与する
code:ruby
bundle exec rake parallel:create # 初回のみ
bundle exec rake parallel:prepare # 初回のみ
bundle exec rake parallel:migrate # マイグレーションファイル追加時
bundle exec rake parallel:spec # テスト実行
bundle exec rake parallel:drop # DB削除
コマンド
-o, --test-options
rspecなどにコマンドを渡す
参照
https://github.com/grosser/parallel_tests