Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rspec Options for testing rails app

When running a spec I am getting all the output of the database transaction as well:

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

This is far too much noise! How can I disable/reduce it?

Below is my spec_helper if it helps.

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
like image 231
Lee Avatar asked Oct 22 '22 21:10

Lee


1 Answers

In you environment initializer for test (config/environments/test.rb), configure proper logger level:

config.logger.level = Logger::FATAL

like image 124
Dmitry Frenkel Avatar answered Nov 03 '22 21:11

Dmitry Frenkel