gpt4 book ai didi

java - JUnit3 TestSuite 真的应该这么用吗?

转载 作者:行者123 更新时间:2023-11-30 07:22:59 26 4
gpt4 key购买 nike

我不记得如何使用 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 3 模式,如 JUnit 3 cookbook 中所述。讨论了 TestRunner 使用的 static suite 方法的用法。

TestRunner 类也是 discusses its use in its Javadocs :

If this class [a Test class] defines a static suite method it will be invoked and the returned test is run.

关于java - JUnit3 TestSuite 真的应该这么用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12332809/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com