Java Junit—使用驻留在不同类上的各种测试执行一个类
我有以下测试课程:Java Junit—使用驻留在不同类上的各种测试执行一个类,java,spring,junit,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框架和junit 4,您需要junit 4Category和Sui
TestClass1 (10 tests)
TestClass2 (20 tests)
TestClass3 (15 tests)
TestClass4 (25 tests)
我想创建一个名为
SmallTestClass
它从TestClass1执行2个测试,从TestClass2执行3个测试,从TestClass3执行5个测试,从TestClass4执行4个测试
政府如何做到这一点?我使用spring框架和junit 4,您需要junit 4
Category
和Suite
的组合才能实现这一点。请注意,类别
仍然是一个实验特性,已经在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 {
}
为什么要这样做?我想创建一个运行我所有测试类的一小部分的健全性测试。这是一个全面而快速的测试。如果我运行所有的类,我将不得不等待5个小时的测试才能完成。谢谢你的回复,但我担心这个实验功能在未来会改变。下面是对这项努力的投票