首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在JUnit IDEA中创建运行套件的IntelliJ运行/调试配置

如何在JUnit IDEA中创建运行套件的IntelliJ运行/调试配置
EN

Stack Overflow用户
提问于 2019-09-19 20:41:08
回答 1查看 1.7K关注 0票数 0

我有一个Java项目,它根据测试类别定义测试套件,并希望创建一个JUnit (Version4.12) Run/Debug配置,以在IntelliJ IDEA终极2019.2中执行特定的测试套件

测试类别/套件定义如下所示:

代码语言:javascript
复制
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 {}
}

这是作为常春藤依赖于我的项目,我无法改变它。我的项目中的示例测试类可能如下所示:

代码语言:javascript
复制
public class TestClass {
    @Test
    @Category(ResourceTest.class)
    public void resourceTest() { ... }

    @Test
    public void unitTest() { ... }
}

我可以创建一个成功执行"com.mjames.test.category.TestCategories$ResourceTest":类别的JUnit Run/Debug配置,方法是将测试类别设置为“ResourceTest”,并将“ResourceTest”设置为“运行/调试配置”。

我尝试过使用测试类类别、模式和类来执行ResourceTestSuite,但没有让它工作。在ResourceTestSuite的情况下,这并不是非常重要,因为执行ResourceTest类别是等价的,但是UnitTestSuite的定义是不属于ResourceTest类别的所有测试。如何创建运行/调试配置来执行测试套件?

EN

回答 1

Stack Overflow用户

发布于 2019-09-21 14:13:59

下面是运行ResourceTestSuite的正确运行配置

至于第二种情况:UnitTestSuite将在AllTests类和UnitTestSuite类本身被@Category(ResourceTest.class)注释的情况下运行。否则,测试执行将失败,异常如下:

代码语言:javascript
复制
java.lang.Exception: class 'pack.AllTests' (possibly indirectly) contains itself as a SuiteClass

您也可以尝试使用UnitTestSuite运行@Suite.SuiteClasses(TestClass.class)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58018686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档