3

运行我们的 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'

4

2 回答 2

30

万一以后有人遇到这个相同的线程,我发现我遇到了作者描述的相同问题,但是,它来自rails_12factor于我的 Gemfile 中的 Heroku gem。

另一位用户说 gem 给他们造成了双重输出:双重控制台输出?

一旦我将其注释掉或将其放入:production组中,我的控制台中的所有详细 SQL 输出都消失了。

因此,检查您是否有同样的问题只是另一件事,但作者的解决方案并不是为您解决问题的方法。

于 2014-01-03T02:08:58.270 回答
2

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

Relishapp 的文档对于发现这一点非常有用

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

于 2013-08-29T09:26:55.270 回答