提交 da832016 编写于 作者: K Kasper Timm Hansen

Hide Minitest's aggregated results if outputting inline.

We'd see the failures and errors reported after the run, which is needless, when we've already
reported them.

Turns:

```

.......................................S....................F

This failed

bin/rails test test/models/bunny_test.rb:14

....

Finished in 0.100886s, 1020.9583 runs/s, 1001.1338 assertions/s.

  2) Failure:
BunnyTest#test_something_failing [/Users/kasperhansen/Documents/code/collection_caching_test/test/models/bunny_test.rb:15]:
This failed

103 runs, 101 assertions, 1 failures, 0 errors, 1 skips

You have skipped tests. Run with --verbose for details.
```

Into:

```

...................S.......................................F

This failed

bin/rails test test/models/bunny_test.rb:14

......................

Finished in 0.069910s, 1473.3225 runs/s, 1444.7143 assertions/s.

103 runs, 101 assertions, 1 failures, 0 errors, 1 skips
```
上级 5ddf6df9
......@@ -3,6 +3,16 @@
require "rails/test_unit/test_requirer"
module Minitest
mattr_accessor(:hide_aggregated_results) { false }
module AggregatedResultSuppresion
def aggregated_results
super unless Minitest.hide_aggregated_results
end
end
SummaryReporter.prepend AggregatedResultSuppresion
def self.plugin_rails_options(opts, options)
opts.separator ""
opts.separator "Usage: bin/rails test [options] [files or directories]"
......@@ -38,6 +48,7 @@ def self.plugin_rails_options(opts, options)
options[:fail_fast] = true
end
options[:output_inline] = true
options[:patterns] = opts.order!
end
......@@ -63,6 +74,9 @@ def self.plugin_rails_init(options)
Minitest.backtrace_filter = ::Rails.backtrace_cleaner if ::Rails.respond_to?(:backtrace_cleaner)
end
# Disable the extra failure output after a run, unless output is deferred.
self.hide_aggregated_results = options[:output_inline]
self.reporter << ::Rails::TestUnitReporter.new(options[:io], options)
end
......
......@@ -355,6 +355,21 @@ def test_post
assert_match %r{Running:\n\nF\n\nwups!\n\nbin/rails test test/models/post_test.rb:4}, output
end
def test_no_failure_output_after_run_if_outputting_inline
app_file 'test/models/post_test.rb', <<-RUBY
require 'test_helper'
class PostTest < ActiveSupport::TestCase
def test_post
assert false, 'wups!'
end
end
RUBY
output = run_test_command('test/models/post_test.rb')
assert_match %r{Finished in.*\n\n1 runs, 1 assertions}, output
end
def test_fail_fast
app_file 'test/models/post_test.rb', <<-RUBY
require 'test_helper'
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册