我正在尝试在特定条件下测试我的rails应用程序中的控制器,该条件应该引发错误并记录它。我的加速测试工作得很好但是我想确保记录器被调用,到目前为止我试过这个,但是它没有工作
it 'logs the error' do
get 'edit', {:id => 'banana'}
Logger.any_instance.expects(:error)
end
ps我正在使用Mocha
答案 0 :(得分:9)
使用rails 4,正确的方法是以下
expect(Rails.logger).to receive(:error).with("your error message")
答案 1 :(得分:5)
我确切地想出了我想要的东西,例如:
Rails.logger.expects(:error).with('this error message')
如何使用mocha断言正在记录特定的错误消息。
答案 2 :(得分:4)
使用rspec你会写:
Rails.logger.should_receive(:error).with("your error message")