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

lar*_*hao 8 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
Run Code Online (Sandbox Code Playgroud)

小智 18

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

RSpec.configure do |config|
    config.pattern = "**/*_spec.rb"
end
Run Code Online (Sandbox Code Playgroud)

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