require "simplecov" require "simplecov-rcov" SimpleCov.formatters = [ SimpleCov::Formatter::HTMLFormatter, SimpleCov::Formatter::RcovFormatter ] SimpleCov.start do add_filter "spec" add_filter "test" end ENV["RAILS_ENV"] ||= "test" require File.join(File.dirname(__FILE__), "..", "test", "dummy", "config", "environment") require "rspec/rails" # load factory girl factories require "factories" require "codeclimate-test-reporter" CodeClimate::TestReporter.start # Force fixture rebuild FileUtils.rm_f(Rails.root.join("tmp", "fixture_builder.yml")) # Requires supporting files with custom matchers and macros, etc, # in ./support/ and its subdirectories. fixture_builder_file = "#{File.dirname(__FILE__)}/support/fixture_builder.rb" support_files = Dir["#{File.dirname(__FILE__)}/support/**/*.rb"] - [fixture_builder_file] support_files.each {|f| require f } require fixture_builder_file RSpec.configure do |config| config.infer_spec_type_from_file_location! config.render_views config.expect_with :rspec do |expect_config| expect_config.syntax = :expect end config.include FactoryGirl::Syntax::Methods config.use_transactional_fixtures = true config.mock_with :rspec do |mocks| # Prevents you from mocking or stubbing a method that does not exist on # a real object. This is generally recommended, and will default to # `true` in RSpec 4. mocks.verify_partial_doubles = true end # Many RSpec users commonly either run the entire suite or an individual # file, and it's useful to allow more verbose output when running an # individual spec file. if config.files_to_run.one? # Use the documentation formatter for detailed output, # unless a formatter has already been configured # (e.g. via a command-line flag). config.default_formatter = "doc" end # Print the 10 slowest examples and example groups at the # end of the spec run, to help surface which specs are running # particularly slow. config.profile_examples = 10 # 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 # Seed global randomization in this process using the `--seed` CLI option. # Setting this allows you to use `--seed` to deterministically reproduce # test failures related to randomization by passing the same `--seed` value # as the one that triggered the failure. Kernel.srand config.seed end