当我捆绑exec rspec规范/控制器时,我得到了:
/var/lib/gems/1.9.1/gems/rspec-core-3.0.4/lib/rspec/core/hooks.rb:521:in“extract_scope_from”:你必须明确给出一个范围(例如,使用符号作为钩子的元数据时的上下文,套件)或范围别名(每个,所有)。 (引发ArgumentError)
我的Gemfile:
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
答案 0 :(得分:1)
这里有语法错误
RSpec.describe TyperController, type:controller do
将其更改为
RSpec.describe TyperController, type: :controller do
答案 1 :(得分:1)
我的错误:
config.before(:siute) do
应该是
config.before(:suite) do