dimanche 24 juillet 2016

How do I test Rails logs in from an Rspec feature spec?

This question tells me how to test logger statements from RSpec model and controller specs. Unfortunately, it doesn't seem to work from a feature spec. With this code:

# controller.rb
def action
  logger.info 'foobar'
end

# spec.rb
scenario 'logging should work' do
  expect(Rails.logger).to receive(:info).with('foobar')
  visit action_path
end

I get the error:

 Failure/Error: visit action_path
   #<ActiveSupport::Logger:0x007ff45b6e5ad0> received :info with unexpected arguments
     expected: ("foobar")
          got: (no args)

The test.log file does not contain foobar, so it seems the test is failing immediately, before the controller action has a chance to complete.

Is there some way to use this expect(Rails.logger) syntax in a feature spec?

Aucun commentaire:

Enregistrer un commentaire