【发布时间】:2014-08-18 07:59:54
【问题描述】:
当我执行 bundle exec rspec spec/controllers 时,我得到了:
/var/lib/gems/1.9.1/gems/rspec-core-3.0.4/lib/rspec/core/hooks.rb:521:in `extract_scope_from':你必须明确地给出一个范围(例如,使用符号作为钩子的元数据时的上下文、套件)或范围别名(每个、全部)。 (参数错误)
我的宝石文件:
gem 'rails', '4.1.4'
gem 'mongoid', '~> 4', github: 'mongoid/mongoid'
gem 'sass-rails', '~> 4.0.3'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc
gem 'spring', group: :development
group :development, :test do
gem 'rspec-rails', '~> 3.0.2'
end
group :test do
gem 'database_cleaner'
gem 'factory_girl_rails'
gem 'mongoid-rspec'
end
我的 spec_helper.rb:
# spec_helper.rb
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
# 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.mock_with :rspec
config.before :each do
Mongoid.purge!
end
require 'database_cleaner'
config.before(:siute) do
DatabaseCleaner.strategy = :truncation
DatabaseCleaner.orm = "mongoid"
end
config.before(:each) do
DatabaseCleaner.clean
end
end
我的 rails_helper.rb
# This file is copied to spec/ when you run 'rails generate rspec:install'
ENV["RAILS_ENV"] ||= 'test'
require 'spec_helper'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
RSpec.configure do |config|
# ArgumentError whether the following is commented out or not
config.infer_spec_type_from_file_location!
end
我的 spec/controllers/typer_controller_spec.rb(仅控制器文件夹中的文件)
require "rails_helper"
RSpec.describe TyperController, type:controller do
describe "GET #index" do
it "initializes properly" do
get :index
# nothing to test yet
end
end
end
【问题讨论】:
-
你应该附上完整的堆栈跟踪
标签: ruby-on-rails rspec mongoid rspec-rails