Один из членов моей команды недавно установил несколько сборок Hudson с непрерывной интеграцией для ряда наших баз кода разработки. Он использует встроенную интеграцию с муравьями, настроенную просто.
Хотя это очень полезно, и я настоятельно рекомендую его, мне было интересно, как получить более сжатые / информативные / полезные электронные письма, а не просто хвост журнала сборки муравья.
E.G., Не хочу этого:
> [...truncated 36530 lines...]
> [junit] Tests run: 32, Failures: 0, Errors: 0, Time elapsed: 0.002 sec
... (hundred of lines omitted) ...
> [junit] Tests run: 10, Failures: 0, Errors: 0, Time elapsed: 0.001 sec
> [junit] Tests FAILED
>
> BUILD FAILED
Я предполагаю, что могу пропустить встроенную поддержку ant и отправить журнал сборки через скрипт grep, но я надеялся, что есть более интегрированный или элегантный вариант.





Я не знаю, делаете ли вы это уже, но я думаю, что следующий фрагмент задачи тестирования муравьев может вам помочь
<target name = "test" depends = "test.compile" description = "runs junit tests">
<taskdef name = "junit"
classname = "org.apache.tools.ant.taskdefs.optional.junit.JUnitTask"
classpath = "${script.dir}/tools/ant-junit.jar"/>
<junit haltonfailure = "no" printsummary = "on" fork = "yes">
<classpath>
<path refid = "web.classpath.compile"/>
<pathelement location = "${test.build.dir.classes}"/>
<pathelement location = "${web.build.dir.classes}"/>
</classpath>
<formatter type = "brief" usefile = "false"/>
<formatter type = "xml"/>
<batchtest todir = "${script.dir}/test-results">
<fileset dir = "${test.build.dir.src}"
includes = "**/*Test.java"/>
</batchtest>
</junit>
</target>
В этой конфигурации вы создаете задачу «junit», реализуемую «org.apache.tools.ant.taskdefs.optional.junit.JUnitTask», которая может находиться в пакете ant-junit.jar.
После этого напрямую вызовите цель и установите средство форматирования xml.
Мы также используем Hudson, он просто отправляет URL-адрес недавно сбойной сборки, и оттуда мы можем получить доступ к результатам тестов, сгенерированным ранее описанной задачей, с трассировкой AssertionFailedError.
Надеюсь, это поможет.
Карлос
Я делаю то же самое, но мне также хотелось бы, чтобы ссылка на отчет о тестировании была отправлена по электронной почте.