【问题标题】:Sinatra: Log noise when running rspec testsSinatra:运行 rspec 测试时记录噪音
【发布时间】:2014-02-06 06:27:47
【问题描述】:

Sinatra 新手;我正在运行一些 rspec 测试,但在日志中得到了一堆不需要的噪音。如何摆脱日志中的过多噪音?我仔细检查了环境是否设置为 :test,这意味着记录器级别应设置为 WARN 而不是 DEBUG。

spec_helper:

require "./app"
require "sinatra"
require "rspec"
require "rack/test"
require "database_cleaner"
require "factory_girl"

set :environment, :test

FactoryGirl.definition_file_paths = %w{./factories ./test/factories ./spec/factories}
FactoryGirl.find_definitions

RSpec.configure do |config|
  config.include Rack::Test::Methods
  config.include FactoryGirl::Syntax::Methods

  # Use color in STDOUT
  config.color_enabled = true

  # Use color not only in STDOUT but also in pagers and files
  config.tty = true

  # Use the specified formatter
  config.formatter = :documentation # :progress, :html, :textmate

  config.order = "random"

  config.before(:suite) do
    DatabaseCleaner.clean_with(:deletion)
  end

  config.before(:each) do
    DatabaseCleaner.strategy = :deletion
  end

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

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

def app
  Sinatra::Application
end

app.rb

configure :test do
  set :database, 'sqlite3:///test.sqlite'
  set :logging, Logger::ERROR
end

噪音:

D, [2014-01-16T22:14:28.481790 #75797] DEBUG -- :    (0.6ms)  commit transaction
D, [2014-01-16T22:14:28.484622 #75797] DEBUG -- :    (0.1ms)  begin transaction

【问题讨论】:

  • 根据the second answer on this threadLogger::ERROR需要回复:to_int。您可以启动控制台并尝试一下吗?如果它没有响应 to_int,sinatra 将使用默认的日志记录设置。

标签: ruby rspec sinatra


【解决方案1】:

事实证明,噪音来自 ActiveRecord 记录器。 在规范助手中设置ActiveRecord::Base.logger = nil 可以消除SQL 噪音。

【讨论】:

    【解决方案2】:

    关于 Ben 的回答:我把它放在我的规范助手中:

    ActiveRecord::Base.logger = nil unless ENV['LOG'] == true
    

    在极少数情况下,我发现输出很有用,并且在环境变量中包含条件使得打开登录变得非常容易,同时默认情况下保持关闭。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-12
      • 2012-11-28
      • 1970-01-01
      • 2014-04-05
      • 2023-03-26
      • 2023-03-31
      • 2011-01-26
      • 1970-01-01
      相关资源
      最近更新 更多