我不记得如何使用 JUnit3TestSuite
并且在谷歌搜索后发现了这个
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();
}
}