【发布时间】:2012-01-11 15:21:23
【问题描述】:
是否有人知道 rake 任务或 RSpec 调用会生成一堆空文件,这些文件与您的应用程序中已经存在的现有控制器、模型、帮助文件和视图相关?
【问题讨论】:
标签: ruby-on-rails testing rspec tdd
是否有人知道 rake 任务或 RSpec 调用会生成一堆空文件,这些文件与您的应用程序中已经存在的现有控制器、模型、帮助文件和视图相关?
【问题讨论】:
标签: ruby-on-rails testing rspec tdd
您可以使用以下方式针对现有控制器生成一组空的 rspec 测试:
rails generate rspec:scaffold recipe
您可以通过传递要生成的模型的属性来改进这一点,如下所示:
rails generate rspec:scaffold recipe title: string slug: string description: text
您仍然需要进行一些手动编辑,但这应该可以帮助您完成大部分工作。
【讨论】:
最好的解决方案是在 environment.rb 中添加挂钩,以便在每次创建模型或控制器时在 rails 应用程序中创建 spec.rb 文件。
这是代码(使用 RSpec 和 FactoryGirl):
module RailsApp
class Application < Rails::Application
config.generators do |g|
g.test_framework :rspec, :fixture_replacement => :factory_girl, :views => true, :helper => false
g.fixture_replacement :factory_girl, :dir => 'spec/factories'
g.stylesheets false
g.javascripts false
g.helper false
end
end
end
【讨论】:
这应该可行:
gem 'rspec-rails' 中的开发和测试组来安装它
rails generate rspec:install
【讨论】: