2014-02-05 4 views
1

Я бегу arquillian тесты с junit и gradle. Как выбрать, какой контейнер запускается?Выберите arquillian контейнер во время построения градита

В настоящее время я определяю определитель контейнера в файле с именем arquillian.launch.

Мой arquillian.xml выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8" ?> 
<arquillian ...> 
    <container qualifier="glassfish3-embedded" default="true"> 
    <configuration> 
     ... 
    </configuration> 
    </container> 
    <container qualifier="wls"> 
    <configuration> 
     ... 
    </configuration> 
    </container> 
</arquillian> 

Мой build.gradle выглядит следующим образом:

[...] 
configurations { 
    glassfishEmbeddedTestRuntime { extendsFrom testRuntime } 
    weblogic10RemoteTestRuntime { extendsFrom testRuntime } 
} 

dependencies { 
    glassfishEmbeddedTestRuntime group: 'org.jboss.arquillian.container', name: 'arquillian-glassfish-embedded-3.1', version: '1.0.0.CR4' 
    glassfishEmbeddedTestRuntime group: 'org.glassfish.main.extras', name: 'glassfish-embedded-all', version: libraryVersions.glassfish 

    weblogic10RemoteTestRuntime group: 'org.jboss.arquillian.container', name: 'arquillian-wls-remote-10.3', version: '1.0.0.Alpha2' 
} 

task glassfishEmbeddedTest(type: Test) 

task weblogic10RemoteTest(type: Test) 

tasks.withType(Test).matching({ t-> t.name.endsWith('Test') } as Spec).each { t -> 
    t.classpath = project.configurations.getByName(t.name + 'Runtime') + project.sourceSets.main.output + project.sourceSets.test.output 
} 

Как я могу расширить определение для weblogic10RemoteTest, так что я могу выбрать контейнер, и я дон Вам нужно отредактировать файл arquillian.launch или файл arquillian.xml, изменив xml перед выполнением тестов?

Я думал, что делать это, как здесь: https://github.com/seam/solder/blob/develop/testsuite/pom.xml#L123

Но я не знаю эквивалент этого утверждения в Gradle.

+0

Как эти вопросы относятся к названию? –

+0

В этом проекте системное свойство настроено на выбор контейнера: https://github.com/seam/solder/blob/develop/testsuite/pom.xml#L123 Я хочу сделать то же самое, только с градиентом, и я думал, что могу установить системное свойство, специфичное для задачи, но я понятия не имею, как это сделать, и я не нашел каких-либо примеров для этого. – Christian

+0

Обновлено название, более конкретно. – Christian

ответ

1

POM, с которым вы связались, задает свойства системы для JVM, выполняющего тесты. Вы можете сделать то же самое в Gradle по настройке Test задачи (ы): (. Обратите внимание, что Gradle всегда проходит испытания в отдельной JVM)

test { // or: tasks.withType(Test) { 
    systemProperty "one", "foo" 
    systemProperty "two", "bar" 
} 

Для получения дополнительной информации см Test в Gradle Build Language Reference.

+0

Хорошо, это сделало это: 'task weblogic10RemoteTest (тип: Test) { \t systemProperty" arquillian.launch "," wls " }' – Christian

Смежные вопросы