提交 114bab9f 编写于 作者: K Kasper Timm Hansen 提交者: GitHub

Merge pull request #29994 from y-yagi/fix_test_runner_help

Show minitest options in test runner help
require "active_support/core_ext/module/attribute_accessors"
require "rails/test_unit/reporter"
require "rails/test_unit/runner"
module Minitest
class SuppressedSummaryReporter < SummaryReporter
......@@ -10,6 +11,8 @@ def aggregated_results(*)
end
def self.plugin_rails_options(opts, options)
Rails::TestUnit::Runner.attach_before_load_options(opts)
opts.on("-b", "--backtrace", "Show the complete backtrace") do
options[:full_backtrace] = true
end
......
require_relative "../../command"
require_relative "../../test_unit/runner"
require_relative "../../test_unit/reporter"
module Rails
module Command
class TestCommand < Base # :nodoc:
no_commands do
def help
require "optparse"
require "minitest/rails_plugin"
say "Usage: #{Rails::TestUnitReporter.executable} [options] [files or directories]"
say ""
say "You can run a single test by appending a line number to a filename:"
say ""
say " #{Rails::TestUnitReporter.executable} test/models/user_test.rb:27"
say ""
say "You can run multiple files and directories at the same time:"
say ""
say " #{Rails::TestUnitReporter.executable} test/controllers test/integration/login_test.rb"
say ""
say "By default test failures and errors are reported inline during a run."
say ""
opts = OptionParser.new
opts.banner = "Usage: #{Rails::TestUnitReporter.executable} [options] [files or directories]"
opts.separator ""
opts.separator "You can run a single test by appending a line number to a filename:"
opts.separator ""
opts.separator " #{Rails::TestUnitReporter.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 " #{Rails::TestUnitReporter.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:"
Rails::TestUnit::Runner.options(opts)
Minitest.plugin_rails_options(opts, {})
say opts
Minitest.run(%w(--help))
end
end
......
......@@ -11,7 +11,7 @@ class Runner
mattr_reader :filters, default: []
class << self
def options(opts)
def attach_before_load_options(opts)
opts.on("--warnings", "-w", "Run with Ruby warnings enabled") {}
opts.on("--environment", "-e", "Run tests in the ENV environment") {}
end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册