Рубрики
Без рубрики

Начало работы с действиями Github: Запустите тесты JUnit 5 в проекте Java с помощью Maven

Эта запись в блоге была первоначально опубликована на сайте blog.codeleak.pl Github Actions – это поставщик услуг CI/CD… С тегами java, github, тестирование.

Это сообщение в блоге было первоначально опубликовано по адресу Это сообщение в блоге было первоначально опубликовано по адресу

Github Actions – это сервис CI/CD, предоставляемый Github, и он бесплатен для общедоступных репозиториев. Для частных репозиториев каждая учетная запись GitHub получает определенное количество бесплатных минут и хранилища, в зависимости от продукта, используемого с учетной записью.

В этом сообщении в блоге вы узнаете, как создать простой рабочий процесс для запуска тестов JUnit 5 в Java-проекте на основе Maven и как добавить значок статуса сборки в README.md файл.

содержание

  • Проблема
  • Решение
  • Введение в Синтаксис рабочего процесса
    • Шаг 1: Проверка хранилища
    • Шаг 2: Настройка JDK 14
    • Шаг 3: Кэшировать пакеты Maven
    • Шаг 4: Запустите тесты с помощью Maven
  • Значки
  • Резюме
  • Исходный код
  • Рекомендации

При каждом событии push запускайте тесты JUnit 5 в Java-проекте с Maven и кэшируйте загруженные зависимости, чтобы ускорить последующие запуски.

TL;DR

Полный рабочий процесс, состоящий из одного задания с четырьмя шагами, для автоматизации процесса запуска тестов JUnit в проекте Java с Maven.

name: tests
on: push
jobs:
  run_tests:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout the repository
        uses: actions/checkout@v2
      - name: Set up JDK 14
        uses: actions/setup-java@v1
        with:
          java-version: 14
      - name: Cache Maven packages
        uses: actions/cache@v2
        with:
          path: ~/.m2
          key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
          restore-keys: ${{ runner.os }}-m2
      - name: Run tests with Maven
        run: mvn -B test --file pom.xml

Файлы рабочего процесса используют YAML синтаксис и должен иметь либо .yml или .yaml расширение. Все файлы рабочего процесса должны быть размещены в каталоге .github/workflows в корне вашего проекта.

Вы можете создать свой полностью настроенный рабочий процесс или использовать действия, предоставляемые сообществом Github. Вы можете найти их в Github Marketplace ).

Рабочие процессы состоят из следующих разделов:

  • имя (необязательно): имя рабочего процесса, которое будет отображаться на странице действий репозитория.
  • вкл (обязательно): событие, запускающее рабочий процесс ( push , запрос на извлечение , построение страницы и т.д.). Вы можете указать одно или несколько событий, а также определить ветку (ветви) или тег (ы) для запуска. Рабочий процесс также может быть запланирован с использованием синтаксиса cron.
  • env (необязательно): переменные среды. Они могут быть установлены для всего рабочего процесса, отдельного задания или шага. Рекомендуется использовать Github Secrets для передачи токенов или секретов в рабочий процесс. Секреты – это зашифрованные переменные среды, доступные только для выбранных действий.

Подробнее о хранении секретов читайте в документации Github Actions/| .

  • вакансии (требуется по крайней мере одна): это фактический список задач, которые должны быть выполнены на бегуне. Каждое задание должно иметь уникальный идентификатор и может включать несколько свойств, например:

    • запуски/| (обязательно): вы можете выбрать тип компьютера для выполнения задания (Windows, Linux или macOS) или свой собственный runner. шаги
    • : последовательность задач. Каждый шаг может быть либо простой командой оболочки, либо действием, состоящим из различных шагов. Действие может быть определено в вашем собственном репозитории, любом другом общедоступном репозитории или реестре Docker. Для некоторых действий требуются входные данные, которые можно передать с помощью ключевого слова with .

Синтаксис рабочего процесса можно найти в документации Github Actions .

Шаг 1: Проверка хранилища

Первый шаг – проверить репозиторий. Для этого используйте действие оформить заказ :

- name: Checkhout the repository
  uses: actions/checkout@v2

Шаг 2: Настройка JDK 14

Для настройки среды Java используйте setup-java action. Вы можете выбрать одну из различных версий Java, включая основную, второстепенную и ранний доступ:

- name: Set up JDK 14
  uses: actions/setup-java@v1
  with:
    java-version: 14

Шаг 3: Кэшировать пакеты Maven

Для кэширования загруженных зависимостей и создания выходных данных используйте cache действие, предоставляемое сообществом Github. Параметр Path определяет путь к файлу на бегуне для кэширования или восстановления. Ключевой параметр используется для поиска кэша. Если совпадения нет, будет создана новая запись кэша, которая будет сохранена с предоставленным ключом в каталоге path. Параметр Restore-keys является необязательным и содержит список альтернативных ключей.

- name: Cache Maven packages
  uses: actions/cache@v2
  with:
    path: ~/.m2
    key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
    restore-keys: ${{ runner.os }}-m2

Шаг 4: Запустите тесты с помощью Maven

Наконец, для запуска тестов используйте команду mvn .

- name: Test with Maven
  run: mvn -B test --file pom.xml

Добавление значка в README.md файл – это хороший способ показать посетителям репозитория, что ваш проект построен правильно и все тесты пройдены.

Чтобы получить значок для рабочего процесса, просто замените заполнители в следующем URL-адресе соответствующей информацией. Обратите внимание, что это имя определено в первой строке файла .yml, и оно не обязательно должно быть именем файла:

https://github.com///workflows//badge.svg

Чтобы добавить значок в проект, оберните ссылку на значок следующим образом и вставьте ее в верхнюю часть README.md файл:

![](https://github.com/kolorobot/spring-boot-junit5/workflows/tests/badge.svg)

Значок появится после фиксации и внесения изменений в репозиторий.

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

Исходный код этой статьи можно найти на Github

Оригинал: “https://dev.to/ewefie/getting-started-with-github-actions-run-junit-5-tests-in-a-java-project-with-maven-20g4”