2015-12-11 3 views
1

У меня есть два проекта:Gradle: запускать тесты из зависимости

  • проект приложения --- Проект А
  • проекта с приемо-сдаточных испытаний (on JBehave) --- Проект B

buid.gradle --- Проект B (с испытаниями jbehave):

task sourceJar(type: Jar) { 
    classifier = 'sources' 
    from sourceSets.main.allJava 
} 

task testJar(type: Jar, dependsOn: testClasses) { 
    classifier = 'tests' 
    from sourceSets.test.output 
} 

artifacts { 
    archives sourceJar, testJar 
} 

uploadArchives { 
    repositories.mavenDeployer { 
     if(project.ext.isReleaseVersion){ 
      repository (url: '[RepUrl]') { 
       authentication (userName: 'user', password: 'pass') 
      } 
      println "Upload to internal" 
     }else{ 
      snapshotRepository (url: '[RepUrl]') { 
       authentication (userName: 'user', password: 'pass') 
      } 
      println "Upload to snapshots" 
     } 

     pom.version = '0.1' 
     pom.artifactId = 'acceptance-tests'   
     pom.groupId = 'group' 
} 

build.gradle --- Проект A:

dependencies { 
    testRuntime ('group:acceptance-tests:latest.release:tests') 
} 

Когда я бегу gradlew test Int проект А не проводится один тест.

Скажите, пожалуйста, где моя ошибка.

+0

Добавьте тесты как источник, а не зависимость. – RaGe

ответ

0

Это не сработает. Те тесты, которые должны быть запущены, настраиваются в SourceSets. Это происходит из java-плагина. Прочитай это. https://docs.gradle.org/current/userguide/java_plugin.html. Я не думаю, что вы можете настроить его для использования некоторых зависимостей. Возможно, вы можете изменить поведение тестовой задачи, вы должны изучить исходный код тестовой задачи. Или вы можете написать собственное тестовое задание. Вы также можете добавить новое действие для проверки задачи и запустить junit для выполнения ваших тестов с помощью некоторых других инструментов, таких как ant.junit.