ruby 01_spec_helper.rb

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 01_spec_helper.rb相关的知识,希望对你有一定的参考价值。

ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'
require 'capybara/rspec'
require 'webmock/rspec'
require 'factory_girl'
require 'factory_girl_rails'

Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}

RSpec.configure do |config|
  config.use_transactional_fixtures = false
  config.infer_base_class_for_anonymous_controllers = false

  config.include JsonSpec::Helpers
  config.include LoginHelper, type: :request
  config.include ActivitySpecHelper, type: :request
  config.include RoomSpecHelper, type: :request
  config.include AutocompleteSpecHelper, type: :request

  config.before :suite do
    DatabaseCleaner.clean_with :truncation
  end

  config.before type: :model do
    DatabaseCleaner.strategy = :transaction
    DatabaseCleaner.start
  end

  # Request specs cannot use a transaction because Capybara runs in a
  # separate thread with a different database connection.
  config.before type: :request do
    DatabaseCleaner.strategy = :truncation
    DatabaseCleaner.start
  end

  # Reset so other non-request specs don't have to deal with slow truncation.
  config.after type: :request  do
    DatabaseCleaner.strategy = :transaction
  end

  config.before do
    WebMock.disable_net_connect!(:allow_localhost => true)
    ActionMailer::Base.deliveries.clear
  end

  config.after do
    Timecop.return
    DatabaseCleaner.clean
  end
end

Capybara.javascript_driver = :webkit
Capybara.default_wait_time = 5
Capybara.ignore_hidden_elements = false
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'
require 'capybara/rspec'
require 'webmock/rspec'
require 'factory_girl'
require 'factory_girl_rails'

Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}

RSpec.configure do |config|

  config.use_transactional_fixtures = false
  config.infer_base_class_for_anonymous_controllers = false

  config.include JsonSpec::Helpers
  config.include LoginHelper, type: :request
  config.include ActivitySpecHelper, type: :request
  config.include RoomSpecHelper, type: :request
  config.include AutocompleteSpecHelper, type: :request

  config.before :suite do
    DatabaseCleaner.strategy = :transaction
    DatabaseCleaner.clean_with(:truncation)
  end

  # Request specs cannot use a transaction because Capybara runs in a
  # separate thread with a different database connection.
  config.before type: :request do
    DatabaseCleaner.strategy = :truncation
  end

  # Reset so other non-request specs don't have to deal with slow truncation.
  config.after type: :request  do
    DatabaseCleaner.strategy = :transaction
  end

  config.before do
    DatabaseCleaner.start
    WebMock.disable_net_connect!(:allow_localhost => true)
    ActionMailer::Base.deliveries.clear
  end

  config.after do
    DatabaseCleaner.clean
  end

  Capybara.javascript_driver = :webkit
  Capybara.ignore_hidden_elements = false
end
config.use_transactional_fixtures = false
config.before :suite do
  DatabaseCleaner.strategy = :transaction
  DatabaseCleaner.clean_with(:truncation)
end
config.before type: :request do
  DatabaseCleaner.strategy = :truncation
end

config.after type: :request  do
  DatabaseCleaner.strategy = :transaction
end
config.before do
  DatabaseCleaner.start
  WebMock.disable_net_connect!(:allow_localhost => true)
  ActionMailer::Base.deliveries.clear
end
config.after do
  DatabaseCleaner.clean
end

以上是关于ruby 01_spec_helper.rb的主要内容,如果未能解决你的问题,请参考以下文章

ruby spec_helper.rb

ruby 第1步 - 测试ElasticSearch - spec_helper.rb

困惑 - spec_helper.rb:94:在` ':未初始化的常量Shoulda(NameError)

从TextMate运行Rails的RSpec

RSpec 为 /lib 子目录中的代码引发 NameErrors

如何检测rspec文件是否作为测试套件的一部分运行