2009-11-18 13 views
5

Nur um die Luft zu klären, bin ich nicht irgendein grausamer Fabrikmeister, der versucht, Arbeitsdamen still zu stellen. Ich habe ein sehr ärgerliches Problem, bei dem bei Verwendung von FactoryMädchen von Thoughtbot in meinen Spezifikationen jedes Mal, wenn Factory.create (: foo) verwendet wird, die neu erstellte ActiveRecord-Modellinstanz in der Konsole protokolliert wird. Dies erschwert das visuelle Ausfiltern der gesamten zusätzlichen Protokollierung. Gibt es irgendwo eine Einstellung oder ein Flag, das eingestellt werden kann, um diese zusätzliche Protokollierung zu deaktivieren?Silencing Factory Mädchen Logging

Unten ist ein kleines Beispiel meiner rspec Ausgabe. Das '.' am Anfang jeder Zeile ist in diesem Fall ein erfolgreicher Test.

loading autotest/rspec 
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby /Library/Ruby/Gems/1.8/gems/rspec-1.2.9/bin/spec --autospec spec/publisher_spec.rb -O spec/spec.opts 
#<Event id: nil, oid: "mainEvent1", name: "Main Event", short_name: "mainevent", time_zone: "PST", created_at: nil, updated_at: nil, draft: true, draft_origin_id: nil, draft_deleted: false> 
#<Event id: nil, oid: "mainEvent1", name: "Main Event", short_name: "mainevent", time_zone: "PST", created_at: "2009-11-18 19:11:56", updated_at: "2009-11-18 19:11:56", draft: true, draft_origin_id: 3, draft_deleted: false> 
#<Event id: nil, oid: "bumbershoo", name: "Bumbershoot", short_name: "bumbershoot", time_zone: "PST", created_at: nil, updated_at: nil, draft: true, draft_origin_id: nil, draft_deleted: false> 
#<Notification id: nil, oid: "8P93CNEcl0", event_id: 3, name: "Penut Butter Jelly Time", url: nil, type: "Alert", priority: 10, last_displayed: "2009-11-16 19:11:54", format: nil, content: "IT'S PENUT BUTTER JELLY TIME. WHERE YOU AT? WHERE ...", image: nil, is_active: true, created_at: nil, updated_at: nil, updated_by: nil, image_file_name: nil, image_content_type: nil, image_file_size: nil, image_updated_at: nil, draft: true, draft_origin_id: nil, draft_deleted: false> 
#<Notification id: nil, oid: "8P93CNEcl0", event_id: 3, name: "Penut Butter Jelly Time", url: nil, type: "Alert", priority: 10, last_displayed: "2009-11-16 19:11:54", format: nil, content: "IT'S PENUT BUTTER JELLY TIME. WHERE YOU AT? WHERE ...", image: nil, is_active: true, created_at: "2009-11-18 19:11:57", updated_at: "2009-11-18 19:11:57", updated_by: nil, image_file_name: nil, image_content_type: nil, image_file_size: nil, image_updated_at: nil, draft: true, draft_origin_id: 3, draft_deleted: false> 
.#<Event id: nil, oid: "mainEvent1", name: "Main Event", short_name: "mainevent", time_zone: "PST", created_at: nil, updated_at: nil, draft: true, draft_origin_id: nil, draft_deleted: false> 
#<Event id: nil, oid: "bumbershoo", name: "Bumbershoot", short_name: "bumbershoot", time_zone: "PST", created_at: nil, updated_at: nil, draft: true, draft_origin_id: nil, draft_deleted: false> 
.#<Event id: nil, oid: "mainEvent1", name: "Main Event", short_name: "mainevent", time_zone: "PST", created_at: nil, updated_at: nil, draft: true, draft_origin_id: nil, draft_deleted: false> 
.#<Event id: nil, oid: "mainEvent1", name: "Main Event", short_name: "mainevent", time_zone: "PST", created_at: nil, updated_at: nil, draft: true, draft_origin_id: nil, draft_deleted: false> 
.#<Event id: nil, oid: "mainEvent1", name: "Main Event", short_name: "mainevent", time_zone: "PST", created_at: nil, updated_at: nil, draft: true, draft_origin_id: nil, draft_deleted: false> 

Ich habe viele Male über meine specs gepflückt, um zu sehen, ob ich eine „setzt foo.inspect“ überall, und ich weiß nicht. Dies geschieht für alle meine rspec und gurke Tests mit Autotest und normal laufenden Tests einzeln.

Hier ist meine factories.rb Datei, die sich auf den obigen Ausgang bezieht. Hinweis: In meinen Fabriken passiert etwas Ungewöhnliches.

[Update: 2009-11-20] Nur versuchen, dies frisch zu halten, und sehen, ob jemand anderes irgendwelche Ideen haben kann.

+12

Sie grausamer kapitalistischer Fabrikmeister! –

+0

Update: Aus irgendeinem Grund ist dies kein Problem mehr. Sehen Sie, wenn Sie lange genug warten und nichts tun, regeln sich die Dinge. Ich wünschte, ich wüsste, was sich geändert hat, um das Problem zu beheben. –

Antwort

2

Können Sie mehr Details darüber geben, wo genau Sie die Protokollierungslinien sehen? Laufen Sie rake spec? Können Sie eine Beispielausgabe kopieren/einfügen?

+0

Ich habe meine Frage mit Snippet meiner rspec-Ausgabe bearbeitet –

0

Ich weiß nicht, wie oder warum, aber dieses Problem hat sich selbst gelöst. Ich kann nur spekulieren, dass es ein Update für Factory Girl oder Rspec war. Vielleicht habe ich etwas Logging in meinem Code entfernt. Ich kann mir nicht sicher sein.

Verwandte Themen