如何关闭Rspec的详细日志记录?

时间:2013-08-28 13:31:36

标签: ruby-on-rails ruby rspec rspec-rails

运行我们的rspec测试套件时

bundle exec rspec spec/

日志中包含很多日志语句。特别是,控制器规格多次显示这样的事情:

{"controller"=>"myController", "action"=>"create"}

我想摆脱这些但找不到来源。没有与这样的匹配的puts语句,也没有任何Rails.logger调用。我假设这是一个日志级问题,但我可能是错的。在environment / test.rb中设置config.log_level无效。

当前的rspec配置如下所示

RSpec.configure do |config|
  config.include Devise::TestHelpers, :type => :controller
  config.mock_with :rspec


  config.before(:suite) do
    DatabaseCleaner.strategy = :truncation
    DatabaseCleaner.orm = "mongoid"
  end

  config.before(:each) do
    DatabaseCleaner.clean
  end

  config.color_enabled = true
  config.tty = true
  config.formatter =  :documentation # :progress, :html, :textmate
end

关于如何禁用这些类型的日志的任何想法?

旁注:Gemfile使用'rails','3.2.13'和'rspec-rails','2.14.0'

2 个答案:

答案 0 :(得分:30)

如果有人稍后遇到同一个帖子,我发现我遇到了同样的问题,但是,它来自我的Gemfile中的Heroku rails_12factor gem。

另一位用户说宝石正在为他们造成双倍输出:Double console output?

只要我将其注释掉或放在:production组中,我控制台中的所有详细SQL输出就会消失。

另外还有一件事要检查你是否有同样的问题,但作者的解决方案不是为你解决的问题。

答案 1 :(得分:2)

毕竟问题不在于Rspec。相反,有人在控制器助手中编写了“p params”。由于这个原因,这个问题并不真正有效。

Relishapp的文档对于揭示这个

非常有用

https://www.relishapp.com/rspec/rspec-rails/docs