Я не уверен, что это лучшее место для размещения такого вопроса, но вот он.Я - инженер по автоматизации тестирования, работающий в основном с приложениями командной строки с весенней загрузкой.Мои тесты на высоком уровне предназначены для того, чтобы гарантировать, что любой тип данных, которые выбрасываются в приложение, будет обрабатываться правильно.Мы магазин Java.
Как и в случае любой "хорошей" практики тестирования, я отношусь к приложению как к черному ящику, в котором я не использую объекты модели для запуска своих тестов.Я просто предоставляю приложению данные, выполняю скрипт типа командной строки (run.sh), который берет мои данные и обрабатывает их.Мои тесты состоят в основном из JDBC (для взаимодействия с базой данных) и множества утилит ArrayList, которые я собрал, чтобы отсортировать наборы результатов и получить конкретную информацию о БД.
До сих пор я развертывал свои тесты как JAR.Я собираю все вместе и внедряю в среду с помощью скрипта, который будет выполнять тесты.Тесты не запускаются при запуске приложения.Хотя они живут внутри проекта, они представляют собой отдельную сущность с отдельными классами запуска.Тем не менее, я считаю, что управление зависимостями в JAR является настоящей головной болью.Есть ли лучший способ развертывания тестов автоматизации / интеграции для приложений командной строки?
Я использую плагин maven shade для объединения всех моих зависимостей в «God JAR», но это не помогает мнерешить проблемы, возникающие при попытке выполнить JAR.Я получаю несколько ошибок при создании экземпляров компонентов, связанных с самим приложением, а не с моими тестами.По этой причине я использую модель приложения и само приложение в качестве зависимостей.Когда я запускал тесты в моем первоначальном тестировании, они работали просто отлично.Развернули в среду и они продолжили работать правильно.Перенесемся через пару месяцев, несколько изменений были внесены в приложение, и теперь, когда я создаю новый JAR, это кошмар для зависимостей.
TLDR: У меня проблемы с управлением зависимостями в проекте maven, JAR-тестах интеграции.Есть ли лучший способ развернуть тесты автоматизации / интеграции для приложений командной строки, где управление зависимостями проще?
(Примечание: я относительно новичок в этом мире, поэтому извините, если вопрос кажется немного расплывчатым),