J
Joel VanderWerf
So far I've noticed two changes in the Test::Unit included with 1.8.
They've probably been in Test::Unit for I long time, but I'm just
encountering them now with 1.8, due to laziness.
First, you have to define #setup instead of #set_up. I guess I prefer
the new way (I remember a long discussion some time ago), but it might
be nice to get a warning that you have defined #set_up, and it will not
be called...
Second, you can no longer define a subclass of TestCase to be used as an
"abstract" base class of other test case classes. For example, the
following flunks, because BaseTest has no tests:
require 'test/unit'
class BaseTest < Test::Unit::TestCase
def do_foo_test
puts "testing foo"
end
end
class DerivedTest < BaseTest
def test_derived
do_foo_test
end
end
I've gotten around this by adding a dummy test method to my base class.
I could also have made it a mixin. It's just a minor annoyance.
Maybe it would be possible to have a class method of TestCase that marks
the class as "abstract"? E.g.,
class BaseTest < Test::Unit::TestCase
abstract_test_class
...
end
Hope this helps someone who's as slow to upgrade as me...
They've probably been in Test::Unit for I long time, but I'm just
encountering them now with 1.8, due to laziness.
First, you have to define #setup instead of #set_up. I guess I prefer
the new way (I remember a long discussion some time ago), but it might
be nice to get a warning that you have defined #set_up, and it will not
be called...
Second, you can no longer define a subclass of TestCase to be used as an
"abstract" base class of other test case classes. For example, the
following flunks, because BaseTest has no tests:
require 'test/unit'
class BaseTest < Test::Unit::TestCase
def do_foo_test
puts "testing foo"
end
end
class DerivedTest < BaseTest
def test_derived
do_foo_test
end
end
I've gotten around this by adding a dummy test method to my base class.
I could also have made it a mixin. It's just a minor annoyance.
Maybe it would be possible to have a class method of TestCase that marks
the class as "abstract"? E.g.,
class BaseTest < Test::Unit::TestCase
abstract_test_class
...
end
Hope this helps someone who's as slow to upgrade as me...