禁用SQL日志在终端测试与Rails 3.1?(RSPEC /黄瓜)



我刚刚将我的应用程序升级到rails 3.1,现在每当我运行测试时,我都会在我的终端上得到大量的SQL输出。

例如:

   (1.0ms)  TRUNCATE TABLE `users`;
   (0.1ms)  SET FOREIGN_KEY_CHECKS = 1
.  Company Load (0.3ms)  SELECT `companies`.* FROM `companies` LIMIT 1
  Sector Load (0.3ms)  SELECT `sectors`.* FROM `sectors` WHERE `sectors`.`name` = 'General' LIMIT 1
   (0.1ms)  BEGIN
   (0.3ms)  SELECT 1 FROM `sectors` WHERE `sectors`.`name` = BINARY 'General 63' LIMIT 1
  SQL (0.2ms)  INSERT INTO `sectors` (`created_at`, `name`, `price_in_cents`, `updated_at`) VALUES ('2011-09-13 20:46:48', 'General 63', 0, '2011-09-13 20:46:48')
   (0.3ms)  COMMIT

有办法禁用这个吗?

我正在使用rspec instafail,我不能再看到它们了,因为它充斥着SQL输出。

我试着添加什么是在这篇文章,但它没有帮助:http://tesoriere.com/2011/05/28/rails-3.1---sql-logging-to-stdout-during-testing--with-rspec--test-unit--or-cucumber-/

您是否尝试在environments/test.rb中设置config.log_level ?

config.log_level = :error

这将是最简单的解决方案,除非有原因,它不能工作。

最新更新