Запуск ant unittests и чтение отчета с использованием разделяемой библиотеки Jenkins по заданному относительному пути

#jenkins #junit #ant #jenkins-pipeline #hybris

#дженкинс #junit #ant #jenkins-конвейер #sap-commerce-cloud

Вопрос:

Мне нужно создать скриптовую разделяемую библиотеку Дженкина, которая запускает команду ant unittests в определенной папке.

В настоящее время на моем локальном компьютере я запускаю эту команду в cmd для определенной папки. После выполнения он генерирует HTML-файл с отчетом JUnit.

Как я могу достичь той же цели, что и выше, в скриптовой groovy разделяемой библиотеке Дженкина, учитывая, что я должен использовать относительный путь к папке.

Пример кода для того же будет полезен и оценен.

Ответ №1:

я не уверен на 100%, правильно ли я понял ваш вопрос, но, по крайней мере, это даст вам некоторые указания в некоторых направлениях.

 dir(<path>) { //changes the current working directory, this means, this could be actually an path within your workspace
    sh script: "ant unittests" // be aware that ant needs to be available
    junit testResults: ['<path to report>'] // change this wildcard path to your needs eg. hybris/log/junit/**/*.xml
}
  

Хотя я не уверен в контексте hybris, где вы храните отчеты, например. у нас есть структура

  • junit
    • unittest #xml-отчет для unittest
    • integrationtest #xml-отчет для интеграционных тестов

и мы используем hybris/log/junit/**/*.xml для всех результатов наших тестов и hybris/log/junit/unittests/*.xml только для самых простых результатов в общей библиотеке.

Для достижения этого мы перезаписываем junit.results.directory для каждого из выполнений.