Pour Rails 4, voir cette réponse.
Pour Rails 3.x, configurez un enregistreur dans config/environments/test.rb
:
config.logger = Logger.new(STDOUT)
config.logger.level = Logger::ERROR
Cela permettra d'intercaler toutes les erreurs qui sont enregistrées pendant les tests dans STDOUT. Vous pouvez souhaiter acheminer la sortie vers STDERR ou utiliser un niveau de journalisation différent à la place.
L'envoi de ces messages à la fois à la console et à un fichier journal nécessite quelque chose de plus robuste que la fonction intégrée de Ruby, à savoir Enregistreur classe. Le site journalisation La gemme fera ce que vous voulez. Ajoutez-le à votre Gemfile
puis de mettre en place deux appenders dans config/environments/test.rb
:
logger = Logging.logger['test']
logger.add_appenders(
Logging.appenders.stdout,
Logging.appenders.file('example.log')
)
logger.level = :info
config.logger = logger