2011-09-13 16 views
5

我剛升級我的應用程序到rails 3.1,現在每當我運行測試時,我都會在終端中得到大量的SQL輸出。在使用Rails 3.1進行測試期間禁用終端中的SQL日誌記錄? (RSPEC /黃瓜)

例如:

(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-/

+1

你可以試試這裏的建議:http://stackoverflow.com/questions/1635112/way-to-disable-rails-sql-logs – varfoo

回答

11

你有沒有嘗試設置你的環境/ test.rb的config.log_level

config.log_level = :error 

這將是最簡單的解決方案,除非有一個原因,它不工作。