Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java intelliJ如何将gradle任务作为测试运行_Java_Unit Testing_Intellij Idea_Gradle_Integration Testing - Fatal编程技术网

Java intelliJ如何将gradle任务作为测试运行

Java intelliJ如何将gradle任务作为测试运行,java,unit-testing,intellij-idea,gradle,integration-testing,Java,Unit Testing,Intellij Idea,Gradle,Integration Testing,我有一个gradle项目,其“单元测试”和“集成测试”任务定义如下: test { include '**/*Test.class' } task integrationTest(type: Test) { include '**/*IT.class' } 我在IntelliJ中创建了一个运行配置来运行所有单元测试,如图所示: 并对任务“integrationTest”执行了相同的操作: IntelliJ“理解”测试任务并运行它,显示图形结果,如下图所示: 当它运行“integ

我有一个gradle项目,其“单元测试”和“集成测试”任务定义如下:

test {
  include '**/*Test.class'
}

task integrationTest(type: Test) {
  include '**/*IT.class'
}
我在IntelliJ中创建了一个运行配置来运行所有单元测试,如图所示:

并对任务“integrationTest”执行了相同的操作:

IntelliJ“理解”测试任务并运行它,显示图形结果,如下图所示:


当它运行“integrationTest”任务时,不会发生同样的情况。结果以文本形式显示,就像我通过命令行运行任务时一样。

回答我自己的问题。。。 据我所知,您无法使IntelliJ运行特定任务的测试,模式解决方案也不能很好地工作

因此,我发现在IntelliJ中有效分离集成测试的唯一方法是使用JUnit类别

  • 创建一个接口来表示集成测试。 例如:

    public interface IntegrationTest {
    }
    
  • 您必须使用类别注释和创建的接口注释每个集成测试类:

    import org.junit.experimental.categories.Category;
    import mycompany.mypackage.IntegrationTest;
    
    @Category(IntegrationTest.class)
    public class DbfFileProcessorIT {
        ...
    }
    
  • 使用类别创建生成配置筛选:


  • 只需将idea插件添加到gradle就可以了

    plugins {
        idea
    }