instance method run_generator

Ruby on Rails 8.1.2

Since v7.1.6

Available in: v7.1.6 v7.2.3 v8.0.4 v8.1.2

Signature

run_generator(args = default_arguments, config = {})

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.expand_path("../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.

Parameters

args opt = default_arguments
config opt = {}
Source
# File railties/lib/rails/generators/testing/behavior.rb, line 64
        def run_generator(args = default_arguments, config = {})
          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")

          if ENV["RAILS_LOG_TO_STDOUT"] == "true"
            generator_class.start(args, config.reverse_merge(destination_root: destination_root))
          else
            capture(:stdout) do
              generator_class.start(args, config.reverse_merge(destination_root: destination_root))
            end
          end
        end

Defined in railties/lib/rails/generators/testing/behavior.rb line 64 · View on GitHub · Improve this page · Find usages on GitHub

Defined in Rails::Generators::Testing::Behavior

Type at least 2 characters to search.

↑↓ navigate · open · esc close