2012-12-21 13 views
5

Uruchamiając spec ja dostaję wszystko wyjście transakcji bazy danych, a także:Opcje rspec do badania szyn app

lee$ rspec spec/mailers/ 
Connecting to database specified by database.yml 
    (0.1ms) BEGIN 
    User Exists (0.7ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = '[email protected]' LIMIT 1 
    User Exists (0.4ms) SELECT 1 AS one FROM "users" WHERE "users"."auth_token" = '8bF72xsaxsSsidLvA1uD9Q' LIMIT 1 
    SQL (2.3ms) INSERT INTO "users" ("auth_token", "created_at", "email", "first_name", "last_name", "password_digest", "password_reset_token", "updated_at") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id" [["auth_token", "8bF70xsaEsSsidLvA1uD9Q"], ["created_at", Fri, 21 Dec 2012 14:55:40 UTC +00:00], ["email", "[email protected]"], ["first_name", nil], ["last_name", nil], ["password_digest", "$2a$10$KXKLprkU/Irp30LoB8M.DuSwLV9bq9P3C7hIAO4yNShPrDE.NmHU."], ["password_reset_token", nil], ["updated_at", Fri, 21 Dec 2012 14:55:40 UTC +00:00]] 
    (1.6ms) COMMIT 
    Rendered user_mailer/customer_sigup_confirmation.html.erb (0.8ms) 
    Rendered user_mailer/customer_sigup_confirmation.text.erb (0.4ms) 
. 

Finished in 0.41419 seconds 
1 example, 0 failures 

Randomized with seed 6071 

Jest zbyt dużo hałasu! Jak mogę go wyłączyć/zmniejszyć?

Poniżej znajduje się moja pomoc spec_helper, jeśli pomaga.

require 'rubygems' 
require 'spork' 
#uncomment the following line to use spork with the debugger 
# require 'spork/ext/ruby-debug' 

Spork.prefork do 
    # Loading more in this block will cause your tests to run faster. However, 
    # if you change any configuration or code from libraries loaded here, you'll 
    # need to restart spork for it take effect. 

    # This file is copied to spec/ when you run 'rails generate rspec:install' 
    ENV["RAILS_ENV"] ||= 'test' 
    require File.expand_path("../../config/environment", __FILE__) 
    require 'rspec/rails' 
    require 'rspec/autorun' 
    require 'capybara/rspec' 
    require 'capybara/poltergeist' 

    Capybara.javascript_driver = :poltergeist 

    # Requires supporting ruby files with custom matchers and macros, etc, 
    # in spec/support/ and its subdirectories. 
    Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f} 

    RSpec.configure do |config| 
    # ## Mock Framework 
    # 
    # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line: 
    # 
    # config.mock_with :mocha 
    # config.mock_with :flexmock 
    # config.mock_with :rr 

    # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures 
    config.fixture_path = "#{::Rails.root}/spec/fixtures" 

    # If you're not using ActiveRecord, or you'd prefer not to run each of your 
    # examples within a transaction, remove the following line or assign false 
    # instead of true. 
    config.use_transactional_fixtures = true 

    # If true, the base class of anonymous controllers will be inferred 
    # automatically. This will be the default behavior in future versions of 
    # rspec-rails. 
    config.infer_base_class_for_anonymous_controllers = false 

    # Run specs in random order to surface order dependencies. If you find an 
    # order dependency and want to debug it, you can fix the order by providing 
    # the seed, which is printed after each run. 
    #  --seed 1234 
    config.order = "random" 


    # Include Factory Girl syntax to simplify calls to factories 
    config.include FactoryGirl::Syntax::Methods 

    # Add Support Modules 
    # config.include LoginMacros 
    config.include MailerMacros 
    config.before(:each) { reset_email } 

    config.treat_symbols_as_metadata_keys_with_true_values = true 
    config.filter_run :focus => true 
    config.run_all_when_everything_filtered = true 

    end 

end 

Spork.each_run do 
    # This code will be run each time you run your specs. 
    FactoryGirl.reload 

    class ActiveRecord::Base 
    mattr_accessor :shared_connection 
    @@shared_connection = nil 

    def self.connection 
     @@shared_connection || retrieve_connection 
    end 
    end 

    # Forces all threads to share the same connection. This works on 
    # Capybara because it starts the web server in a thread. 
    ActiveRecord::Base.shared_connection = ActiveRecord::Base.connection 

end 

Odpowiedz

2

w was środowiska inicjatora dla testu (config/środowiska/test.rb), configure prawidłowego poziomu rejestratora:

config.logger.level = Logger::FATAL

1

Część problemu wynika zapewne z Poltergeist wykorzystywane jako Capybara javascript kierowcy. Miałem podobny problem podczas korzystania z capybara-webkit. Spróbuj użyć następującej składni:

Capybara.register_driver :poltergeist_silent do |app| 
    Capybara::Poltergeist::Driver.new(app, :logger => nil) 
end 
Capybara.javascript_driver = :poltergeist_silent 

będzie to duży krok w swojej spec_helper, zastępując ten wiersz: . Może to uniemożliwić komunikaty dziennika dotyczące renderowania.

mam wrażenie komunikaty o baza danych może być pochodzących z Spork, jak użyłem Rspec obszernie bez Spork i nie widzę tych wiadomości. Czy możesz spróbować sprawdzić, czy dostępna jest opcja wyłączenia komunikatów log/stdout przez Spork?

+0

Dzięki Batkins ale wciąż ten sam. I tak, ponownie uruchomiłem aplikację przed sprawdzeniem. Spoglądam też w spork lub poltergeist. – Lee

+0

Wypróbuj ten wiersz: 'Capybara :: Poltergeist :: Driver.new (app,: stdout => zero)'. To moja ostatnia sugestia, ponieważ taka była składnia dla web-capibara (wyglądało na to, że powinno to być ': logger' zamiast': stdout' dla 'poltergeist', ale być może jestem niepoprawny). – Batkins

+0

Boo Hoo. Wciąż bez zmian. Będę dalej kopać. TY – Lee