diff options
author | yuuji.yaginuma <yuuji.yaginuma@gmail.com> | 2018-01-03 08:00:27 +0900 |
---|---|---|
committer | yuuji.yaginuma <yuuji.yaginuma@gmail.com> | 2018-01-03 17:37:14 +0900 |
commit | ff0d5f14504f1aa29ad908ab15bab66b101427b7 (patch) | |
tree | d3a6320e57cdb709f6b9977a32324949508263e5 | |
parent | 3a077f369199651fa62a3e9b8ab2d8f8ee70a0e9 (diff) | |
download | rails-ff0d5f14504f1aa29ad908ab15bab66b101427b7.tar.gz rails-ff0d5f14504f1aa29ad908ab15bab66b101427b7.tar.bz2 rails-ff0d5f14504f1aa29ad908ab15bab66b101427b7.zip |
Correctly get source location
`filtered_results` returns an instance of `Minitest::Result` since https://github.com/seattlerb/minitest/commit/00433fc0a4fdd0e6b302aace633384ba13122376
`Minitest::Result` is not test class. So cannot get location directly.
-rw-r--r-- | railties/lib/rails/test_unit/reporter.rb | 7 | ||||
-rw-r--r-- | railties/test/test_unit/reporter_test.rb | 1 |
2 files changed, 7 insertions, 1 deletions
diff --git a/railties/lib/rails/test_unit/reporter.rb b/railties/lib/rails/test_unit/reporter.rb index 7d3164f1eb..c8b7b70611 100644 --- a/railties/lib/rails/test_unit/reporter.rb +++ b/railties/lib/rails/test_unit/reporter.rb @@ -68,7 +68,12 @@ module Rails end def format_rerun_snippet(result) - location, line = result.method(result.name).source_location + location, line = if result.respond_to?(:source_location) + result.source_location + else + result.method(result.name).source_location + end + "#{executable} #{relative_path_for(location)}:#{line}" end diff --git a/railties/test/test_unit/reporter_test.rb b/railties/test/test_unit/reporter_test.rb index ad852d0f35..09360b2bb0 100644 --- a/railties/test/test_unit/reporter_test.rb +++ b/railties/test/test_unit/reporter_test.rb @@ -81,6 +81,7 @@ class TestUnitReporterTest < ActiveSupport::TestCase verbose.record(skipped_test) verbose.report + expect = %r{\ATestUnitReporterTest::ExampleTest#woot = 10\.00 s = S\n\n\nSkipped:\nTestUnitReporterTest::ExampleTest#woot \[[^\]]+\]:\nskipchurches, misstemples\n\nbin/rails test test/test_unit/reporter_test\.rb:\d+\n\n\z} assert_match expect, @output.string end |