特定のジェネレーターを継承し、メソッドを編集して、_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
rspec_modded:scaffoldを実行するrails g
と、リストにあり、手動で呼び出すと実際に機能します ( 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:レール3.2.6を使用しています