🚀

CircleCIでテストデータ収集ができるようにしてみた

2022/12/25に公開

株式会社SUPER STUDIO Advent Calendar 2022の25日目の記事です。

CircleCIを使っているのですがテストデータの収集が簡単にできるというのを聞いたのでもともと導入を検討してましたが、今回のネタのために検証してみました。

導入前

導入後

やったこと

前提

  • RubyonRailsを使用。
  • CircleCIを使用。(RSpecは導入済み。)

rspec_junit_formatterをGemfileに追加。

gem 'rspec_junit_formatter'

circleciのconfig.ymlに以下記述を追加。
テスト結果をどこかしらに格納する必要があるのでそのパスを指定とそのパスのディレクトリをmkdirでrunコマンドで作成。

- run: mkdir ~/rspec
- run:
  command: bundle exec rspec --format progress --format RspecJunitFormatter -o ~/rspec/rspec.xml
- store_test_results:
  path: ~/rspec

まとめ

これだけで遅いテストや不安定なテストを簡単に可視化することができました。
今後はこの情報をもとにテストの改善を進めていこうと思ってます。

参考

https://circleci.com/docs/ja/insights-tests/
https://circleci.com/ja/blog/introducing-test-insights-with-flaky-test-detection/
https://qiita.com/dodonki1223/items/98dbdac6f31f9b486ecf#store_artifacts-と-store_test_results-の使い分け

Discussion