經過一點點掏腰包,我已經採取了埃裏克溫德林的建議,並與Gradle一起。
爲此,我將groovy單元測試移到了必需的目錄結構src/test/groovy /中,其中支持資源(輸入和期望輸出XML文件)進入/ src/test/resources /目錄。
所有必需的庫都在構建中進行了配置。gradle這個文件,所描述的(將其全部)在這裏:
apply plugin: 'groovy'
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.+'
groovy module('org.codehaus.groovy:groovy:1.8.2') {
dependency('asm:asm:3.3.1')
dependency('antlr:antlr:2.7.7')
dependency('xmlunit:xmlunit:1.3')
dependency('xalan:serializer:2.7.1')
dependency('xalan:xalan:2.7.1')
dependency('org.bluestemsoftware.open.maven.tparty:xerces-impl:2.9.0')
dependency('xml-apis:xml-apis:2.0.2')
}
}
test {
jvmArgs '-Xms64m', '-Xmx512m', '-XX:MaxPermSize=128m'
testLogging.showStandardStreams = true //not sure about this one, was in official user guide
outputs.upToDateWhen { false } //makes it run every time even when Gradle thinks it is "Up-To-Date"
}
這適用Groovy插件,設置使用Maven來獲取指定的依賴關係,然後增加了一些額外的價值,以內置的「測試」任務。
有一件額外的事情是讓Gradle每次都運行我所有的測試,而不僅僅是它認爲是新的/改變的測試,這使Jenkins可以很好地運行。
我還創建了一個gradle.properties文件通過企業代理/防火牆等,以獲得:
systemProp.http.proxyHost=10.xxx.xxx.xxx
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=username
systemProp.http.proxyPassword=passwd
有了這個,我創建了一個「自由風格」項目詹金斯說民調我們的Mercurial回購定期和每當任何人提交一個更新的XSL回購所有的測試將運行。
我最初的目標之一是能夠生成標準的Jenkins/Hudson合格/不合格圖形和JUnit報告,這是成功的:Pass/Fail和JUnit Reports。
我希望這可以幫助其他有類似要求的人。
你在使用一些測試框架嗎?你用什麼來建立這個項目? – 2012-02-16 14:08:20
有沒有反感使用像Gradle/Maven/Ant這樣的構建工具? – 2012-02-19 05:10:47
@Eric這是一個側面項目,希望快速啓動和運行。然而,我可能會走上學習和使用Gradle的道路,就像我在「要學習的東西」一樣。 – 2012-02-19 09:06:02