2011-09-13 8 views
5

Właśnie zaktualizowałem swoją aplikację do rails 3.1 i teraz, gdy tylko uruchamiam testy, otrzymuję tonę wyjściową SQL w moim terminalu.Czy wyłączyć logowanie SQL w terminalu podczas testowania z Rails 3.1? (RSPEC/Cucumber)

Na przykład:

(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 

Czy istnieje jakiś sposób, aby to wyłączyć?

Używam programu rspec instafail i nie mogę już na nich wyglądać, ponieważ jest zalewany przez wynik SQL.

Próbowałem dodając to, co było w tym artykule, ale nie zrobił pomoc: http://tesoriere.com/2011/05/28/rails-3.1---sql-logging-to-stdout-during-testing--with-rspec--test-unit--or-cucumber-/

+1

Możesz spróbować sugestii tutaj: http://stackoverflow.com/questions/1635112/way-to-disable-rails-sql-logs – varfoo

Odpowiedz

11

próbowałeś ustawiania config.log_level w swoim środowisku/test.rb?

config.log_level = :error 

To byłoby najłatwiejsze rozwiązanie, chyba że istnieje powód, dla którego nie działa.