rspec-rails不在spec / lib下运行测试

时间:2012-03-05 13:00:18

标签: rspec rspec-rails

我将lib文件夹下的模块规范放入spec/lib,但我既不运行rspec也不运行spec spec/可以获取spec/lib中的规范进行测试

有什么需要配置吗?我使用rails 3.2.0,以下是我的spec_helper.rb

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.
# These lines are needed for SimpleCov to generate a complete coverage report
  require 'simplecov'
  SimpleCov.start 'rails'

  # 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'

  # 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|
    config.infer_base_class_for_anonymous_controllers = false
    config.mock_with :rspec # use rspec's built-in mock objects

    require 'database_cleaner'

    config.before(:suite) do
      DatabaseCleaner.strategy = :truncation
      DatabaseCleaner.orm = "mongoid"
    end

    config.before(:each) do
      DatabaseCleaner.clean
    end  
  end

end

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

end

1 个答案:

答案 0 :(得分:18)

您可以通过在spec / spec_helper.rb文件中设置config.pattern来调整RSpec使用的模式

RSpec.configure do |config|
    config.pattern = "**/*_spec.rb"
end

这将使RSpec运行与给定模式匹配的所有测试。 (并且还在spec / lib中运行测试)