はじめに
RSpec3でany_instance.stubを含むテスト実行時に、以下のdeprecateメッセージが表示された。
メッセージを表示させない方法が見つけにくかったのでメモしておく。
初学者(自分)は、エラーメッセージで検索できないと対応が難しい。
Using `any_instance` from rspec-mocks' old `:should` syntax without explicitly enabling the syntax is deprecated. Use the new `:expect` syntax or explicitly enable `:should` instead.
環境
モジュール | バージョン |
---|---|
ruby | ruby 2.1.2p95 |
rails | Rails 4.1.1 |
rspec | 3.0.4 |
修正方法
allow_any_instance_ofを使う。
ClassNameは適当に置き換えてください。
修正前
# ClassName.any_instance.stub(:save).and_return(false)
修正後
allow_any_instance_of(ClassName).to receive(:save).and_return(false)