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 This post is licensed under CC BY 4.0 by the author.