我刚刚将我的应用程序升级到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
这将是最简单的解决方案,除非有原因,它不能工作。