После небольшого взлома я принял предложение Эрика Венделина и пошел с Градлом.
Для этого я переместил свои модульные тесты groovy в необходимую структуру каталогов src / test / groovy /, а вспомогательные ресурсы (входные и ожидаемые файлы вывода XML) помещаются в каталог / src / test / resources /.
Все необходимые библиотеки были настроены в файле build.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 запускать все мои тесты каждый раз, а не только те, которые он считает новыми / измененными, это заставляет Дженкинса играть хорошо.
Я также создал файл gradle.properties для прохождения через корпоративный прокси / брандмауэр и т. Д .:
systemProp.http.proxyHost=10.xxx.xxx.xxx
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=username
systemProp.http.proxyPassword=passwd
Таким образом, я создал проект в свободном стиле в Jenkins, который периодически опрашивает наше репозиторий Mercurial, и всякий раз, когда кто-либо передает обновленный XSL в репо, все тесты будут запускаться.
Одной из моих первоначальных целей была возможность создавать стандартную графику Jenkins / Hudson pass / fail и отчеты JUnit, что является успехом: Pass / Fail с JUnit Reports .
Надеюсь, это поможет кому-то еще с такими же требованиями.