经过一点点掏腰包,我已经采取了埃里克温德林的建议,并与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