🖥
Rails - Rspec で paralells spec を利用して並列処理する ( create / migrate / prepar
公式
Gemfile
gem を追加して bundle install する
gem 'parallel_tests'
database.yml
公式READMEの通り DB設定で環境変数を利用するようにする
この環境変数はテスト実行時などに自動的に paralells spec が付与してくれる
test:
database: yourproject_test<%= ENV['TEST_ENV_NUMBER'] %>
テスト実行
rails parallel:setup
rails parallel:spec
うまく行かない場合は以下でも良いかもしれない
parallel:setup
/ parallel:prepare
コマンドは使わなくてもテスト実行できる
rails parallel:create
rails parallel:migrate
rails parallel:spec
何か思わぬエラーが起きた時は drop してからやり直すと良い
rails parallel:drop
コマンド
DB作成
rake parallel:create
結果の例
すべてのテスト用DBを作成してくれる
Created database 'example_test2'
Created database 'example_test4'
Created database 'example_test'
Created database 'example_test3'
マイグレーション
すべてのテスト用DBをマイグレーションする
rake parallel:migrate
Prepare
developementのスキーマをコピーしてくれるらしいが詳細は不明
あまり思いつく用途がないかも
テスト用DBがない状態でもDB作成・テーブル作成までしてくれる模様
Copy development schema (repeat after migrations)
rake parallel:prepare
セットアップ
もろもろ準備してくれて create / migerate がおこなわれた状態にしてくれるみたいだ
ただし seeds.rb
も実行されるようなのでテストにseeds.rbの値を含めたくない場合は注意
Setup environment from scratch (create db and loads schema, useful for CI
rake parallel:setup
DB削除
すべてのテスト用DBを削除してくれる
rake parallel:drop
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
公開日時
2023-10-06
Discussion