はじめに
Rails 6 でパラレルテストをやりたいけど、なんかうまくいかない、という方が読んでいただけたら参考になるかもしれないことを書いていこうと思います。
やったこと
Headless Chrome なんかを使うシステムテストでは PARALLEL_WORKERS=1
とすることで、並列でテストを動かすことを諦めましょう。それ以外のテストはお持ちの機材に合わせて PARALLEL_WORKERS=$(grep processor /proc/cpuinfo | wc -l)
とでもしとけば動いてくれると思います。コードは Github にもあるので「エスパーかよ...」という方は、そっちも見ていだければと思います。
おわりに
あんまり理解してないで、やってみたらうまくいきました。ちゃんと動く理由とか根拠とかは聞かないでください...
編集履歴
- Github Actions で落ちていたので、なかったことにしてください...
- Github Actions で動くようになりましたが、最初と全く異なる記事になりました...