【问题标题】:rails generator does not create rspec file/directory in rails 3.2.9 enginerails 生成器不会在 rails 3.2.9 引擎中创建 rspec 文件/目录
【发布时间】:2013-01-02 08:48:33
【问题描述】:

我们使用以下命令创建 rails 3.2.9 引擎:

rails plugin new my_eng --mountable --dummy-path=spec/dummy

在 my_eng.gemspec 中,添加了 rspec:

s.add_development_dependency "rspec-rails", ">= 2.0.0"

运行bundle install。然后在引擎的根目录下:

rails g rspec:install

在 spec/ 下创建一个 spec_helper.rb 文件。

问题在于,当创建模型或控制器时,例如 rails g model my_model...,在 spec/ 下,没有模型目录并且创建了 my_model_spec.rb。我们尝试在 spec/dummy/ 下运行rails g rspec:install,但问题仍然存在。我们的代码有什么问题?感谢您的帮助。

【问题讨论】:

标签: ruby-on-rails-3 rspec2


【解决方案1】:

你必须在 config/application.rb 中插入类似:

config.generators do |g|
  g.template_engine :erb
  g.test_framework  :rspec, :fixture => true, :views => false
  g.integration_tool :rspec, :fixture => true, :views => true
  g.fixture_replacement :factory_girl, :dir => "spec/support/factories" 
end

【讨论】:

  • 在engine.rb 中,我们使用与Brian 完全相同的代码:config.generators do |g| g.test_framework :rspec, :view_specs => 假结束。在创建的 10 个引擎中,有一个 rspec 工作。刚刚尝试了以下方法,它起作用了:config.generators.integration_tool :rspec config.generators.test_framework :rspec。这段代码与 RodrigoOliveira 或 Brian 的代码基本相同。但不确定为什么带有 do 循环的代码每次都不能正常工作。
  • :views => true 或 false 是什么意思?使用上面的代码,工厂女孩是与 Rails 生成器一起创建的吗?
  • 这意味着不会创建视图的规格。
  • 默认是erb (g.template_engine :erb)?
猜你喜欢
  • 2012-05-13
  • 2013-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-03
  • 2012-11-19
  • 1970-01-01
相关资源
最近更新 更多