【发布时间】:2020-01-20 22:35:06
【问题描述】:
我有一个 Java 项目,它根据测试类别定义测试套件,并希望创建一个 JUnit(4.12 版)运行/调试配置以在 IntelliJ IDEA Ultimate 2019.2 中执行特定的测试套件
测试类别/套件定义如下所示:
public class TestCategories {
public interface ResourceTest {}
@RunWith(Categories.class)
@Categories.IncludeCategory(ResourceTest.class)
@Suite.SuiteClasses(AllTests.class)
public static class ResourceTestSuite {}
@RunWith(Categories.class)
@Categories.ExcludeCategory({ResourceTest.class})
@Suite.SuiteClasses(AllTests.class)
public static class UnitTestSuite {}
@RunWith(ClasspathSuite.class)
@ClasspathSuite.SuiteTypes({SuiteType.RUN_WITH_CLASSES, SuiteType.TEST_CLASSES, SuiteType.JUNIT38_TEST_CLASSES})
public static class AllTests {}
}
这作为 ivy 依赖项被拉入我的项目,我无法更改它。我项目中的示例测试类可能如下所示:
public class TestClass {
@Test
@Category(ResourceTest.class)
public void resourceTest() { ... }
@Test
public void unitTest() { ... }
}
我可以通过将 Test kind 设置为“Category”并将 Category 设置为“com.mjames.test.category.TestCategories$ResourceTest”来创建成功执行 ResourceTest 类别的 JUnit 运行/调试配置: Run/Debug Configuration
我曾尝试使用测试种类 Category、Pattern 和 Class 来执行 ResourceTestSuite,但没有让它工作。在 ResourceTestSuite 的情况下,它并不是非常重要,因为执行 ResourceTest 类别是等效的,但是 UnitTestSuite 的定义是所有不在 ResourceTest 类别中的测试。如何创建运行/调试配置来执行该测试套件?
【问题讨论】:
标签: java intellij-idea junit junit4