Rspec没有创建.rb文件

时间:2014-04-26 02:24:59

标签: ruby-on-rails ruby rspec

贯穿Michael Hartl的Rails教程。在运行generate命令的3.2.1节中,我得到一个调用响应但不是预期的创建响应

$ rails generate integration_test static_pages
  invoke  rspec

我可以简单地创建预期的/requests/static_pages_spec.rb文件,但我想了解为什么我没有得到教程中显示的预期输出:

$ rails generate integration_test static_pages
  invoke  rspec
  create    spec/requests/static_pages_spec.rb  

这是我的gem文件,用于添加引用:

source 'https://rubygems.org'
ruby '2.1.1'
gem 'rails', '4.1.0'
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 do
  gem 'better_errors'
  gem 'binding_of_caller', :platforms=>[:mri_19, :mri_20, :mri_21, :rbx]
  gem 'quiet_assets'
  gem 'rails_layout'
end
group :development, :test do
  gem 'sqlite3'
  gem 'factory_girl_rails'
  gem 'rspec-rails', '~> 2.14.1'
end
group :production do
  gem 'thin'
  gem 'pg', '~> 0.17.1'
  gem 'rails_12factor', '~> 0.0.2'
end
group :test do
  gem 'capybara'
  gem 'database_cleaner'
  gem 'faker'
  gem 'launchy'
  gem 'selenium-webdriver'
end

编辑:按照以下评论中的建议从application.rb文件添加代码。评论中的代码格式化正在逃避我......

config.generators do |g|
  g.test_framework :rspec,
    fixtures: true,
    view_specs: false,
    helper_specs: false,
    routing_specs: false,
    controller_specs: false,
    request_specs: false
  g.fixture_replacement :factory_girl, dir: "spec/factories"
end

我做了一些谷歌挖掘,但没有太多运气找到所有可能的选项g.test_framework方法的一个很好的概述。不确定问题是否存在。

编辑2:为可能有相同问题的其他人添加 - 应用程序是使用rails-composer生成的https://github.com/RailsApps/rails-composer/我假设这是一个自动配置设置作为设置的一部分。

2 个答案:

答案 0 :(得分:1)

未经测试,但我认为如果您将false的值更改为true request_specs,那么事情将对您有用。

config.generators do |g| 
  g.test_framework :rspec, 
    fixtures: true, 
    view_specs: false, 
    helper_specs: false, 
    routing_specs: false, 
    controller_specs: false, 
    request_specs: false #change this one! 
  g.fixture_replacement :factory_girl, dir: "spec/factories" 
end

答案 1 :(得分:0)

您是否正确安装了rspec-rails? rails generate rspec:install

如果您这样做,请确保config/application.rb中有类似的内容:

config.generators do |g|
  g.orm             :active_record
  g.template_engine :haml
  g.test_framework  :rspec, fixture_replacement: :factory_girl
  g.factory_girl dir: 'fixtures/factories'
end

在那里