読者です 読者をやめる 読者になる 読者になる

珈琲駆動開発

RubyとRailsがおおい

Railsでのテスト時に`test_after_commit`のgemが読み込めないエラー

Rails Rails5

こんな感じのエラーに出くわした。

/Users/totzyuta/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:80:in `rescue in block (2 levels) in require': There was an error while trying to load the gem 'test_after_commit'. (Bundler::GemRequireError)

環境は、

$ cat .ruby-version
2.3.0
$ be rails -v 
Rails 5.0.0.beta3

いつもお気に入りのgemを集めた自分のGemfileのテンプレを用意しておいて、railsで新しいプロジェクトを作るときにはそれを使うのだけどrails4用のものになってしまってたらしい。

ググるとこんな記事が。

qiita.com

rails4ではテスト実行時にtransactional_fixturesのせいでafter_commitが呼ばれない test_after_commitを使えば解決できる rails5では修正されている

ということで、テスト実行時にafter_commitが呼ばれない問題を解決するためのgemですが、rails5では問題は修正されてるみたいなのでGemfileから取り除いておきましょうという話でした。