如何使用 jUnit 将测试用例添加到套件中?

发布于 2024-09-16 16:40:35 字数 120 浏览 5 评论 0原文

我有 2 个测试类,都扩展了 TestCase。每个类都包含一堆针对我的程序运行的单独测试。

如何将这两个类(以及它们拥有的所有测试)作为同一套件的一部分执行?

我正在使用 jUnit 4.8。

I have 2 test classes, both extend TestCase. Each class contains a bunch of individual tests which run against my program.

How can I execute both classes (and all tests they have) as part of the same suite?

I am using jUnit 4.8.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

因为看清所以看轻 2024-09-23 16:40:44

JUnit 3 支持 TestSuitepublic static Test suite()JUnit 4 不支持它(它创建添加的测试类,但不启动测试方法)。

但是您可以在套件内启动测试子套件。

import org.junit.runner.RunWith
import org.junit.runners.Suite

@RunWith(Suite::class)
@Suite.SuiteClasses(
    Test1::class,
    TestSuite1::class
)
class StartTest

然后在 StartTest 中您可以添加测试类和测试套件。

@RunWith(Suite::class)
@Suite.SuiteClasses(
    Test2::class,
    Test3::class,
    TestSuite2::class
)
class TestSuite1

@RunWith(Suite::class)
@Suite.SuiteClasses(
    Test4::class,
    Test5::class
)
class TestSuite2

通过这种方式,您可以将测试类加入到组中(得到包含 10 个项目而不是 100 个项目的列表)。

JUnit 3 supported TestSuite and public static Test suite(). JUnit 4 doesn't support it (it creates added test classes, but doesn't launch test methods).

But you can launch a subsuite of tests inside a suite.

import org.junit.runner.RunWith
import org.junit.runners.Suite

@RunWith(Suite::class)
@Suite.SuiteClasses(
    Test1::class,
    TestSuite1::class
)
class StartTest

Then inside StartTest you can add test classes and test suites.

@RunWith(Suite::class)
@Suite.SuiteClasses(
    Test2::class,
    Test3::class,
    TestSuite2::class
)
class TestSuite1

@RunWith(Suite::class)
@Suite.SuiteClasses(
    Test4::class,
    Test5::class
)
class TestSuite2

This way you can join test classes into groups (to have a list of 10 items instead of 100).

青丝拂面 2024-09-23 16:40:43

创建 TestClass 并覆盖 suite() 方法并运行新创建的 TestClass。

 public static Test suite()
    {
        TestSuite suite = new TestSuite("Test ExpenseTest");
        suite.add(TestCase1.class);
        suite.add(TestCase2.class);
        return suite;
    }

Create TestClass and override suite() method and run newly created TestClass.

 public static Test suite()
    {
        TestSuite suite = new TestSuite("Test ExpenseTest");
        suite.add(TestCase1.class);
        suite.add(TestCase2.class);
        return suite;
    }
江南月 2024-09-23 16:40:42

在 jUnit4 中,您有这样的内容:

@RunWith(Suite.class)
@SuiteClasses({
    SomeTest.class,
    SomeOtherTest.class,
    ...
    })
public class AllTests {}

如果您想要 Eclipse GUI 套件构建器(新建 > JUnit 测试套件),则必须将

public static junit.framework.Test suite() {
   return new JUnit4TestAdapter(SomeTest.class);
}

GUI 测试套件构建器识别您的测试添加到每个测试类中。

In jUnit4 you have something like this:

@RunWith(Suite.class)
@SuiteClasses({
    SomeTest.class,
    SomeOtherTest.class,
    ...
    })
public class AllTests {}

If you want the Eclipse GUI suite builder (New > JUnit Test suite), you have to add

public static junit.framework.Test suite() {
   return new JUnit4TestAdapter(SomeTest.class);
}

to each of your test classes s.t. the GUI test suite builder recognizes your test.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文