使用rspec调用ensure logger

Mat*_*hew 3 testing rspec ruby-on-rails mocha.js ruby-on-rails-3

我试图在一个应该引发错误并记录它的特定条件下在我的rails应用程序中测试一个控制器.我的加速测试工作得很好但是我想确保记录器被调用,到目前为止我试过这个,但是它没有工作

  it 'logs the error' do
    get 'edit', {:id => 'banana'}
    Logger.any_instance.expects(:error)
  end
Run Code Online (Sandbox Code Playgroud)

ps我正在使用摩卡

Joh*_*ith 10

使用导轨4,正确的方法如下

expect(Rails.logger).to receive(:error).with("your error message")
Run Code Online (Sandbox Code Playgroud)


Mat*_*hew 5

我想出了我想要的东西,例如:

 Rails.logger.expects(:error).with('this error message')
Run Code Online (Sandbox Code Playgroud)

您是如何使用mocha断言正在记录特定错误消息的.