Подтвердить что ты не робот

Как запустить интеграционные тесты из контекстного меню IntelliJ для проекта gradle?

Используя IntelliJ IDEA 14.0.2, я импортировал java-проект gradle. Мы установили sourceSet и конфигурацию, чтобы отделить тесты интеграции от модульных тестов. (наши интеграционные тесты находятся в дереве тестового источника, но в их собственном пакете). Соответствующими битами из build.gradle являются:

sourceSets {
  test {
    java {
      exclude '**/it/**'
    }
  }

  integTest {
    java {
      srcDir 'src/test/java'
      include '**/it/**'
    }
    resources {
      srcDir 'src/test/resources'
    }
    compileClasspath += sourceSets.main.output + sourceSets.test.output + configurations.testRuntime
    runtimeClasspath += sourceSets.main.output + sourceSets.test.output + configurations.testRuntime
  }
}

configurations {
  integTestCompile.extendsFrom testCompile
  integTestRuntime.extendsFrom testRuntime
}

idea {
  module {
    scopes.TEST.plus += [ configurations.integTestCompile ]
  }
}

task integTest(type: Test) {
  testClassesDir = sourceSets.integTest.output.classesDir
  classpath = sourceSets.integTest.runtimeClasspath
}

Это отлично работает из командной строки. Но когда я открываю источник интеграционного теста в IntelliJ и щелкаю правой кнопкой мыши, чтобы запустить его, IntelliJ запускает задачу "test", а не задачу "InteTest". Как заставить IntelliJ запускать правильную задачу?

В качестве альтернативы, как я могу сделать делегат тестовой задачи другой задачей на основе содержимого "-tests" arg?

4b9b3361

Ответ 1

Щелкните правой кнопкой мыши по тесту в файле, и вы должны увидеть пункт меню для Create Run Configuration >. Выберите этот диалог в диалоговом окне, измените параметр Tasks. Измените это на integTest и нажмите "ОК". С этого момента вам, возможно, придется запустить тест, используя систему меню, а не контекстную систему. т.е. Run > Run...

Ответ 2

Выполните следующие действия: настройки gradle> Gradle> Runner и установите флажок Делегировать IDE для сборки/запуска действий на gradle. Тогда подайте заявку и ок.

Удачи!