Unable to change output of test suite

Y

Yossef Mendelssohn

I'm trying to change the output of a test suite, and from what I can
tell the one line I'm interested in (the indication of numbers of
tests, assertions, failures, and errors) is generated by
Test::Unit::TestResult#to_s. It seems like a simple change, but I'm
running into trouble.

The following code:

require 'test/unit'

class Test::Unit::TestResult
def to_s() 'this should be different'; end
end

class WeirdnessTest < Test::Unit::TestCase
end

Gives me this result:

Loaded suite test_weirdness
Started
F
Finished in 0.000871 seconds.

1) Failure:
default_test(WeirdnessTest) [test_weirdness.rb:7]:
No tests were specified.

1 tests, 1 assertions, 1 failures, 0 errors


Is there some dark magic with test suites or am I just missing
something simple? After looking through some of the test/unit code,
I'm not even sure where Test::Unit::TestResult objects come from, but
I'm still somewhat convinced they're necessary
 
N

Nobuyoshi Nakada

Hi,

At Sat, 1 Sep 2007 06:34:14 +0900,
Yossef Mendelssohn wrote in [ruby-talk:266993]:
require 'test/unit' require 'test/unit/testresult'

class Test::Unit::TestResult
def to_s() 'this should be different'; end
end

class WeirdnessTest < Test::Unit::TestCase
end

test/unit.rb just defines Test::Unit, but not TestResult, and
test/unit/testresult.rb isn't loaded until any TestRunner
libraris get loaded. So your TestResult is overridden by the
true TestResult definition.
 
Y

Yossef Mendelssohn

Hi,

At Sat, 1 Sep 2007 06:34:14 +0900,
Yossef Mendelssohn wrote in [ruby-talk:266993]:> require 'test/unit'

require 'test/unit/testresult'


class Test::Unit::TestResult
def to_s() 'this should be different'; end
end
class WeirdnessTest < Test::Unit::TestCase
end

test/unit.rb just defines Test::Unit, but not TestResult, and
test/unit/testresult.rb isn't loaded until any TestRunner
libraris get loaded. So your TestResult is overridden by the
true TestResult definition.

Of course it had to be something simple like that.

Thank you very much.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,982
Messages
2,570,185
Members
46,736
Latest member
AdolphBig6

Latest Threads

Top