diff --git a/lib/turn/reporters/dot_reporter.rb b/lib/turn/reporters/dot_reporter.rb index 092a2ad..2a97812 100644 --- a/lib/turn/reporters/dot_reporter.rb +++ b/lib/turn/reporters/dot_reporter.rb @@ -49,16 +49,19 @@ def finish_suite(suite) suite.each do |testcase| testcase.each do |testunit| if testunit.fail? || testunit.error? - list << testunit + list << [testcase, testunit] end end end unless list.empty? # or verbose? #report << "\n\n-- Failures and Errors --\n\n" - list.uniq.each do |testunit| + list.uniq.each do |(testcase, testunit)| + heading = [] message = [] - message << (testunit.fail? ? FAIL : ERROR) + heading << (testunit.fail? ? FAIL : ERROR) + heading << "#{testcase.name}::#{testunit.name}" + message << heading.join(' ') message << testunit.message.tabto(2) message << clean_backtrace(testunit.backtrace).join("\n").tabto(2) report << "\n" << message.join("\n") << "\n" diff --git a/test/helper.rb b/test/helper.rb index 55eba0f..e5a848b 100644 --- a/test/helper.rb +++ b/test/helper.rb @@ -89,6 +89,26 @@ def test_error HERE end +# +def setup_testunit_dotted + text = <<-HERE +class DottedTest < Test::Unit::TestCase + def test_pass + assert_equal(1,1) + end + + def test_fail + assert_equal(1,2) + end + + def test_error + raise + end +end + HERE + save_test(text, 'dotted_test.rb') +end + # def setup_testunit_outline text = <<-HERE diff --git a/test/test_reporters.rb b/test/test_reporters.rb index 59803e0..2661284 100644 --- a/test/test_reporters.rb +++ b/test/test_reporters.rb @@ -19,6 +19,14 @@ def test_dotted assert result.index('0 errors'), "ACTUAL RESULT:\n#{result}" end + def test_dotted_shows_name + file = setup_testunit_dotted + result = turn '--dotted', file + assert result.index('FAIL DottedTest::test_fail'), "ACTUAL RESULT:\n#{result}" + assert result.index('ERROR DottedTest::test_error'), "ACTUAL RESULT:\n#{result}" + assert !result.index('test_pass'), "ACTUAL RESULT:\n#{result}" + end + def test_marshal file = setup_testunit result = turn '--marshal', file