Method: Rails::Generators::Testing::Behavior#run_generator
- Defined in:
- railties/lib/rails/generators/testing/behavior.rb
#run_generator(args = default_arguments, config = {}) ⇒ Object
Runs the generator configured for this class. The first argument is an array like command line arguments:
class AppGeneratorTest < Rails::Generators::TestCase
tests AppGenerator
destination File.("../tmp", __dir__)
setup :prepare_destination
test "database.yml is not created when skipping Active Record" do
run_generator %w(myapp --skip-active-record)
assert_no_file "config/database.yml"
end
end
You can provide a configuration hash as second argument. This method returns the output printed by the generator.
67 68 69 70 71 72 73 74 |
# File 'railties/lib/rails/generators/testing/behavior.rb', line 67 def run_generator(args = default_arguments, config = {}) capture(:stdout) do args += ["--skip-bundle"] unless args.include?("--no-skip-bundle") || args.include?("--dev") args += ["--skip-bootsnap"] unless args.include?("--no-skip-bootsnap") || args.include?("--skip-bootsnap") generator_class.start(args, config.reverse_merge(destination_root: destination_root)) end end |