LoginSignup
22
18

More than 5 years have passed since last update.

CircleCIで並列テストを実行する

Posted at

タイトルの並列テストってなに?

ここで指しているのは、CircleCI上で複数のコンテナを使ってテストを実行することです!2コンテナと1コンテナの時の差はこんな感じです。

下記画像の赤い部分が差異になると思います。

2コンテナでビルドを行った時の画面

parallele_02.png

1コンテナでビルドを行った時の画面

parallele_01.png

では早速、並列テストを実行するまでの手順を追っていきます。

並列テストで使うコンテナ数の設定を変更する

設定画面へ行く

settings_01.png

Adjust Parrallelismを開く

settings_02.png

自分のプランにあった、並列処理する際の最大コンテナ数を選ぶ

特にApplyやOKなどのボタンはありません!

settings_03.png

ビルド設定

下記の記入例のようにparallelオプションをtrueにしてあげて、回したいスペックファイルを渡してあげればOKです。当たり前ですがfactoriesファイルなどを渡してしまうと落ちます!

circle.ymlへの記入例
test:
  override:
    - bundle exec rspec:
        parallel: true
        files:
          - spec/features/*.rb

参考:Manually setting up parallelism - CircleCI

注意

当たり前ですが、specファイル間でテストデータが依存関係があるとテストが落ちます!必要があれば、上記URLに書いてある用にいい感じにバランシングのためのシェルファイルを書いてあげるとよさそうです。

速度の改善具合について

2コンテナにした場合、テストだけで約2分早くなりました!(๑´ڡ`๑)

22
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
18