2014-02-05 45 views
1

我正在運行junit和gradle的arquillian測試。我如何選擇哪個容器開始?在gradle build期間選擇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,這樣我可以選擇的容器,和我不在執行測試之前,必須通過更改xml來編輯arquillian.launch文件或arquillian.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我想要做同樣的事情,只需要gradle和I我認爲我可以爲某個任務設置特定的系統屬性,但我不知道如何去做,也沒有發現任何實例。 – Christian

+0

更新的標題,更具體。 – Christian

回答

1

鏈接的POM爲運行測試的JVM設置系統屬性。您可以通過配置Test任務(一個或多個)做搖籃一樣的:(注意,搖籃始終運行在一個單獨的JVM測試)

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

欲瞭解更多信息,請參閱TestGradle Build Language Reference

+0

好吧,這樣做:'任務weblogic10RemoteTest(類型:測試){ \t systemProperty「arquillian.launch」,「wls」 } – Christian