Namespace
Methods
P
Class Public methods
plugin_rails_init(options)

Owes great inspiration to test runner trailblazers like RSpec, minitest-reporters, maxitest and others.

# File railties/lib/rails/test_unit/minitest_plugin.rb, line 81
def self.plugin_rails_init(options)
  ENV["RAILS_ENV"] = options[:environment] || "test"

  # If run via `ruby` we've been passed the files to run directly.
  unless run_via[:ruby]
    ::Rails::TestRequirer.require_files(options[:patterns])
  end

  unless options[:full_backtrace] || ENV["BACKTRACE"]
    # Plugin can run without Rails loaded, check before filtering.
    Minitest.backtrace_filter = ::Rails.backtrace_cleaner if ::Rails.respond_to?(:backtrace_cleaner)
  end

  # Replace progress reporter for colors.
  reporter.reporters.delete_if { |reporter| reporter.kind_of?(SummaryReporter) || reporter.kind_of?(ProgressReporter) }
  reporter << SuppressedSummaryReporter.new(options[:io], options)
  reporter << ::Rails::TestUnitReporter.new(options[:io], options)
end
plugin_rails_options(opts, options)
# File railties/lib/rails/test_unit/minitest_plugin.rb, line 14
def self.plugin_rails_options(opts, options)
  executable = ::Rails::TestUnitReporter.executable
  opts.separator ""
  opts.separator "Usage: #{executable} [options] [files or directories]"
  opts.separator "You can run a single test by appending a line number to a filename:"
  opts.separator ""
  opts.separator "    #{executable} test/models/user_test.rb:27"
  opts.separator ""
  opts.separator "You can run multiple files and directories at the same time:"
  opts.separator ""
  opts.separator "    #{executable} test/controllers test/integration/login_test.rb"
  opts.separator ""
  opts.separator "By default test failures and errors are reported inline during a run."
  opts.separator ""

  opts.separator "Rails options:"
  opts.on("-e", "--environment ENV",
          "Run tests in the ENV environment") do |env|
    options[:environment] = env.strip
  end

  opts.on("-b", "--backtrace",
          "Show the complete backtrace") do
    options[:full_backtrace] = true
  end

  opts.on("-d", "--defer-output",
          "Output test failures and errors after the test run") do
    options[:output_inline] = false
  end

  opts.on("-f", "--fail-fast",
          "Abort test run on first failure or error") do
    options[:fail_fast] = true
  end

  opts.on("-c", "--[no-]color",
          "Enable color in the output") do |value|
    options[:color] = value
  end

  options[:color] = true
  options[:output_inline] = true
  options[:patterns] = defined?(@rake_patterns) ? @rake_patterns : opts.order!
end