stub_any_instanceのproc内でNoMethodError: undefined method `assert'
解決
対象インスタンスをprocで厳密に指定
test_instance = self #<= 重要
post_stub = proc do |address|
test_instance.assert { address == 'address' }
end
注意
共通化しようと、インスタンス変数に格納してしまうと、正しく動作しない。
setup do
@test_instance = self
end
it 'message' do
post_stub = proc do |address|
@test_instance.assert { address == 'address' } #<= NoMethodError: undefined method `assert' for nil:NilClass
end
end
事象
post_stub = proc do |address|
assert { address == 'address' } #<= `NoMethodError: undefined method `assert'`
end
Mail.stub_any_instance(:post, post_stub) do # Mail.send内で呼ばれる
Mail.send
end