我有两个单元测试应该共享很多常见的测试,但设置方法略有不同。如果我写类似
class Abstract < Test::Unit::TestCase
def setup
@field = create
end
def test_1
...
end
end
class Concrete1 < Abstract
def create
SomeClass1.new
end
end
class Concrete2 < Abstract
def create
SomeClass2.new
end
end
那么 Concrete1 似乎没有从 Abstract 继承测试。或者至少我不能让它们在 Eclipse 中运行。如果我为包含 Concrete1 的文件选择“运行所有测试用例”,那么即使我不希望它运行 Abstract 也会运行。如果我指定 Concrete1,那么它根本不会运行任何测试!如果我在 Concrete1 中指定 test_1,那么它会抱怨找不到它(“uncaught throw :invalid_test (ArgumentError)”)。
我是红宝石的新手。我在这里想念什么?