Java 如何仅在达到特定测试之前运行junit测试

Java 如何仅在达到特定测试之前运行junit测试,java,junit,jenkins-plugins,junit4,Java,Junit,Jenkins Plugins,Junit4,我有一堆依赖的测试用例(不依赖于dependsOn参数),不能一次运行一个测试。这就是为什么我想运行测试,直到达到特定的测试。我想停止执行进一步的测试,并想调用拆卸 有什么方法可以做到这一点吗?您可以通过org.junit.aspect.assumeTrue(条件)来控制测试用例的执行,如果发现条件为false,它将忽略测试用例。在开始时将条件设置为true,例如,私有静态布尔变量可以是user,在要执行的最后一个测试用例结束时将条件设置为false。检查@BeforeTest中的条件 示例代码

我有一堆依赖的测试用例(不依赖于dependsOn参数),不能一次运行一个测试。这就是为什么我想运行测试,直到达到特定的测试。我想停止执行进一步的测试,并想调用拆卸


有什么方法可以做到这一点吗?

您可以通过org.junit.aspect.assumeTrue(条件)来控制测试用例的执行,如果发现条件为false,它将忽略测试用例。在开始时将条件设置为true,例如,私有静态布尔变量可以是user,在要执行的最后一个测试用例结束时将条件设置为false。检查@BeforeTest中的条件

示例代码

private static boolean runTest = true;

@org.junit.Before
public void before() throws Exception {
    org.junit.Assume.assumeTrue(runTest);
}

@org.junit.Test
public void test1() throws Exception {
    // will be executed
}

@org.junit.Test
public void test2() throws Exception {
    // will be executed
}

@org.junit.Test
public void test3() throws Exception {
    // will be executed
    runTest = false;
    // no test after this will be executed
}

@org.junit.Test
public void test4() throws Exception {

    // will be ignored

}

我能想到的一种可能的复制方法是创建一个测试套件,只包括对目标的测试。这样,它执行所有先前的依赖测试,并且在目标为HIT时停止执行。我认为真正的问题是问题。为什么你的测试如此依赖?如果它们如此依赖,为什么要在Junit中实现它们作为单独的测试方法?这很有帮助!谢谢