Rspec3.0.0が正式リリースしましたね!!
自分の環境では3.0.0はbeta版から使っていたのですが、3.0.0rc1
にアップデートしたところから、以下の様なdeprecatedワーニングが多発していました。。
The `:example_group` key in an example group's metadata hash is deprecated.
面倒くさいから放っておいていたんですが、正式リリースしたところで真剣に調べてみました。
まずはリリースノートを調べてみた
リリースノートを見ると、example_group
について、書かれていました。影響があるんだろうなというところで詳細はわからずじまい。。
RSpec 2.99.0 and 3.0.0 have been released!
そして、rspec-railsのリポジトリを調べていると
Issueの中にそれっぽいのがありました。
https://github.com/rspec/rspec-rails/issues/1035#issuecomment-43831752
It would appear that Draper::DecoratorExampleGroup is the cause:
Draperか????!
DraperのIssueを見てみた
はい、ありました。。このIssueで取り上げられていました。
https://github.com/drapergem/draper/issues/620
そしたら、既にFixしていました。(一昨日Fixしてた。2014/06/03)
https://github.com/drapergem/draper/pull/623
Draperの最新 v1.3.1 がリリースされているみたいなので以下の通り、Gemfileを修正しリリース版の最新にするように bundle update
を実行します。
Version 1.3.1 以上にすることで解決します
gem "draper"
これで、 解決した!!
deprecationが出まくっていると気持ち悪いですからね。良かった!
おまけ!
と言うより yujinakayama/transpec が素晴らしかったという話。
Rspec3.0への移行は手動でやっていたのですが、今回のDeprecationが発生した時に、まず疑ったのが、移行の方法が間違っているのかというところでした。
そこで、試しに Rspec3.0 へのマイグレーションツールのyujinakayama/transpecを使って移行を自動で試して見ようという感じでやっていたら、これがすごかった!!!
コマンド実行して5分くらいしたら自動で全部マイグレーションして、Rspec3.0の記法に合わせて修正してくれた。こういうツールがあるっていうのはとてもやりやすいなと思いました。まだ2.0系を利用している人は試して見る価値ありです。
さらにrspec-coreのリポジトリに、、、
以下のIssueが挙がっていました。
Draper
以外に Pundit
でも同様の問題があったみたいです。
https://github.com/rspec/rspec-core/issues/1562
以上、参考になれば。