よく使う構文をメモ
post = Post.new
# 引数なし
allow(post).to receive(:title).and_return('title')
# 引数あり
allow(post).to receive(:title).with(arg1, arg2).and_return('title')
# エラーを起こさせる
allow(post).to receive(:subtitle).and_raise(StandardError.new)
# クラスに対してインスタンスメソッドのスタブ化
allow_any_instance_of(Post).to receive(:title).and_return('title')
追記
- allow句は
it
,before
,let
ブロックの中で使用可能。