GitLab Runner разные этапы

Хочу протестировать файлы, для этого у меня есть программа на Java с разными пакетами.

  • checkFileSize
  • checkFileLocation
  • и так далее

тесты возвращают только истину и ложь (тесты являются основными классами в пакете)

отдельные пакеты являются разными этапами в конвейере gitlab. Например:

  • checkFileSize
  • checkFileLocation

этапы выполняются один за другим, т. е. если первый тест не проходит, бегун прекращает работу. в противном случае должен выполняться следующий этап и т. д.

это хорошая концепция? для этого уже есть примеры программ?

Большое спасибо


person James Walter    schedule 08.07.2020    source источник


Ответы (1)


Я бы порекомендовал переписать ваши классы тестов на настоящие тесты (например, с помощью junit). Затем вы можете просто запустить тест mvn (o gradle или что-то еще, что вы используете).

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

Кстати, я не совсем понимаю твой подход

тесты возвращают только истину и ложь (тесты являются основными классами в пакете)

поскольку приложения Java действительно не имеют возвращаемого значения (точка входа обычно public static void main). У них есть код статуса, который вы можете установить с помощью System.exit(). Ненулевой код состояния указывает на ненормальное завершение работы. Фактически вы можете использовать это, чтобы указать, что ваш тест не прошел, но я бы действительно рекомендовал использовать тестовые классы, как описано выше.

person Sebastian    schedule 08.07.2020