Junit - 执行一个包含不同类的各种测试的类

时间:2014-11-11 15:21:39

标签: java spring junit

我有以下测试类:

TestClass1 (10 tests)
TestClass2 (20 tests)
TestClass3 (15 tests)
TestClass4 (25 tests)

我想创建一个名为

的测试类
 SmallTestClass

从TestClass1执行2个测试,从TestClass2执行3个测试,从TestClass3执行5个测试,从TestClass4执行4个测试

如何实现这一目标?我使用spring framework和junit 4

1 个答案:

答案 0 :(得分:1)

你需要Junit 4 CategorySuite的组合来实现这一目标。请注意,Category仍然是一个实验性功能,已在v4.8中引入。

以下示例仅确保仅运行someTest1()(我自己使用v4.11进行测试),因为它被归类为SanityTest

聚合器:

import org.junit.experimental.categories.Categories;
import org.junit.experimental.categories.Categories.IncludeCategory;
import org.junit.runner.RunWith;
import org.junit.runners.Suite.SuiteClasses;

@RunWith (Categories.class)
@SuiteClasses (SomeTest.class)
@IncludeCategory (SanityTests.class)
public class JunitSuiteTest {
}

包含实际测试的类:

import org.junit.Test;
import org.junit.experimental.categories.Category;

public class SomeTest {
    @Test
    @Category (SanityTests.class)
    public void someTest1()
    {
        System.out.println("test 1");
    }

    @Test
    public void someTest2()
    {
        System.out.println("test 2");
    }
}

帮助分类的标记类:

public class SanityTests {
}