LoginSignup
4
4

More than 1 year has passed since last update.

【Ruby on Rails】RSpec実行時に意図しないログが吐き出された

Posted at

はじめに

今回の出来事に関しては具体的な原因の特定には至れておりません。
そのため、もし具体的な原因が知りたいという方にとっては参考にならない記事になっていること、予めご了承いただけますと幸いです。

環境

Ruby 2.6.5
Ruby on Rails 5.2.6

RSpec実行時に大量のログが出た

オリジナルアプリの機能追加に伴い、RSpecでテストを実行したところ、以下の画像のように意図しないログが吐き出された。

スクリーンショット 2021-09-07 22.04.28(2).png

どうやらbefore do ... endのブロック内に囲まれたテストデータが作成された時のログのようだ。
(大量のテストデータを作成していてお恥ずかしい限りです。)

画像は一つのdescribeブロック内のログであり、複数のdescribeブロックを作成してテストしている場合、毎回このログが出力されるので、どこまでテストが行われているのかわからないし、何より時間がかかりすぎて効率が悪い。

※本来であれば以下のように結果が返ってくると思います。

スクリーンショット 2021-09-11 23.36.39(2).png

ということで原因を探ってみました。

gemのrails_12factorが原因だった

git logを遡ったり、どこのブランチからこんなことになってしまっているのか一つ一つみているうちに、RSpecの実行結果が期待通りのリポジトリ内ではgemのrails_12factorがインストールされていなかった。

...そういえばHerokuにデプロイできなくて試しにインストールしていたことを忘れていた。

調べてみるとこのgem、最終リリース日が2014年10月14日であり、だいぶ古いgemであることがわかった。

参考(RubyGems.orgより)

それに伊藤淳一さんもrails_12factorは使わない方が良いと仰られている。

伊藤淳一さんの記事(【初心者必見】RailsアプリをHerokuに公開するのにrails_12factorは不要)

伊藤淳一さんの記事にも書かれていることだが、メンテナンスが止まっており、かつ必要のないgemに関してはインストールすべきではないという良い教訓になった出来事でした。

そのためにも、

・使おうとしているgemがどれほどの人が利用していて
・いつアップデートされて
・バグなどの報告はないか

をきちんと調べる習慣をつけたいと思います。

もし原因がわかる方がいらっしゃたらコメントを頂けますと幸いです。

以上

4
4
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
4
4