我继承了特定的生成器并编辑了该方法,以便创建 _form 的规范。有解决办法:
# lib/generators/rspec_modded/scaffold/scaffold_generator.rb
require 'generators/rspec/scaffold/scaffold_generator.rb'
module RspecModded
module Generators
class ScaffoldGenerator < Rspec::Generators::ScaffoldGenerator
def generate_view_specs
super
copy_view :_form
end
end
end
end
如果我这样做rails g
rspec_modded:scaffold 在列表中,并且如果手动调用(rails g rspec_modded:scaffold test
)则实际工作。
# config/application.rb
# ...
config.generators do |g|
g.test_framework :rspec_modded, :fixture => false, fixture_replacement: nil
g.fallbacks[:rspec_modded] = :rspec
end
据我所知,每个人都hook_for :test_framework
应该调用 rspec_modded 生成器,而 rspec 应该管理我没有的东西(例如模型)。但它不起作用:由于某种原因,unit_test 生成器启动了!什么事?我真的不明白...
PS:我正在使用rails 3.2.6