我不记得如何使用JUnit3 TestSuite
和一些谷歌搜索后发现此应该如何使用JUnit3 TestSuite?
public class MyTestsuite extends TestSuite {
public static Test suite() {
final TestSuite s = new TestSuite();
s.addTestSuite(Test1.class);
s.addTestSuite(Test2.class);
return s;
}
}
看来工作,但看起来很奇怪的对我说:
- 我为什么要创建一个新的实例当在一个合适的班级?
- 人们应该如何发现这一点?在javadoc中没有什么像“写一个静态方法叫做套件”。
- 为什么不是这样简单:
public class MyTestsuite extends AbstractTestSuite {
@Override
public void suite() {
add(Test1.class);
add(Test2.class);
}
}
基本上,我很好奇,如果我在第一个例子做它像真的要走的路。此外,我想知道这样的接口背后可能有什么设计决定。
这个工作也和也许是少了几分诡异:
public class MyTestsuite extends TestSuite {
MyTestsuite() {
super(Test1.class, Test2.class);
}
public static Test suite() {
return new TestSuite();
}
}
我的第二个例子是指“如何恕我直言,应该像”,不喜欢它是在使用构造只存在在JUnit(扩展的类是不存在的'AbstractTestSuite') 。 – maaartinus
@maaartinus哦。那么,那不是这样。你在问为什么最初的设计师做到了这一点,而不是另一种?你可能需要问他们。 –
我真的怀疑他们是否知道这件事,看起来像是在重聚派对之后唤醒我的时候,我可以“发明”的东西。 – maaartinus