2016-11-17 29 views
1
class Post 
    def save 
    Mailer.notify!('bla') 
    true 
    end 
end 

post.saveが呼び出されたときに、Mailer.notifyメソッドが実行されることをテストするにはどうすればよいですか?適切な議論が必要です。 RSpecのでメソッドをテストする方法はMinitestで呼び出されますか?

は、私は通常の操作を行います。

expect(Mailer).to receive(:notify!).with('bla') 
post.save 

は、事前にありがとうございます!

答えて

3

あなたはこのような何か行うことができます。

describe 'Post#save' do 
    it "calls Mailer::notify!" do 
    mock = MiniTest::Mock.new 
    mock.expect(:call, nil, ['bla']) 

    Mailer.stub(:notify!, mock) do 
     post.save 
    end 

    mock.verify 
    end 
end 

をはい、それはRSpecの中より簡単かつ直感的に...

関連する問題