JUnit-作为套件的一部分时忽略测试

JUnit-作为套件的一部分时忽略测试,junit,junit4,test-suite,Junit,Junit4,Test Suite,我正在将一些测试组织到套件中,这很好,但是我需要忽略套件中的测试,这样我的构建就不会自动运行它们 我可以通过将它们从构建过程中排除来实现这一点,但我想看看JUnit是否在本地支持这一点 实现这一目标最干净的方法是什么 编辑: 为了在maven构建中实现这一点,我可以对测试进行分类()并排除整个类别()。Junit4-您可以尝试使用 @Ignore public class IgnoreMe { @Test public void test1() { ... }

我正在将一些测试组织到套件中,这很好,但是我需要忽略套件中的测试,这样我的构建就不会自动运行它们

我可以通过将它们从构建过程中排除来实现这一点,但我想看看JUnit是否在本地支持这一点

实现这一目标最干净的方法是什么

编辑: 为了在maven构建中实现这一点,我可以对测试进行分类()并排除整个类别()。

Junit4-您可以尝试使用

@Ignore 
public class IgnoreMe {
           @Test public void test1() { ... }
           @Test public void test2() { ... }
}
转化为类似-

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

@RunWith(Suite.class)
@SuiteClasses( {IgnoreMe.class, AnotherIgnored.class})
@Ignore
public class MyTestSuiteClass {
....
// include BeforeClass, AfterClass etc here
}
来源-


Junit5-您可以尝试类似的方法,如-

import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;

@Disabled
class DisabledClassDemo {
    @Test
    void testWillBeSkipped() {
    }
}
来源-

以及Junit5中的套件实现

如果您有多个测试类,那么可以创建一个测试套件 可以在下面的示例中看到

JUnit4SuiteDemo将发现并运行示例中的所有测试 包及其子包。默认情况下,它将只包括测试 名称与模式^.*测试?$匹配的类

其中,
@SelectPackages
指定通过
@RunWith(JUnitPlatform.class)
运行测试套件时要选择的包的名称,因此您可以指定要执行或不想执行的包,并如上所述将其标记为禁用

进一步阅读-和Junit4-您可以尝试使用

@Ignore 
public class IgnoreMe {
           @Test public void test1() { ... }
           @Test public void test2() { ... }
}
转化为类似-

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

@RunWith(Suite.class)
@SuiteClasses( {IgnoreMe.class, AnotherIgnored.class})
@Ignore
public class MyTestSuiteClass {
....
// include BeforeClass, AfterClass etc here
}
来源-


Junit5-您可以尝试类似的方法,如-

import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;

@Disabled
class DisabledClassDemo {
    @Test
    void testWillBeSkipped() {
    }
}
来源-

以及Junit5中的套件实现

如果您有多个测试类,那么可以创建一个测试套件 可以在下面的示例中看到

JUnit4SuiteDemo将发现并运行示例中的所有测试 包及其子包。默认情况下,它将只包括测试 名称与模式^.*测试?$匹配的类

其中,
@SelectPackages
指定通过
@RunWith(JUnitPlatform.class)
运行测试套件时要选择的包的名称,因此您可以指定要执行或不想执行的包,并如上所述将其标记为禁用


进一步阅读-并且

我不知道有什么简单的内置方法可以实现这一点。我不知道有什么简单的内置方法可以实现这一点。