Цель: зделать фреймворк, который можно будет легко переносить на другие проекты и расширять.
Что есть сейчас: Проект, который покрыт автотестами. Используем Selenium Webdriver, ЯП - Java,фреймворк для тестов - TestNG, сборщик - gradle
Вопрос: как правильно перенести тесты/методы/архитектуру на другой проект(т.е. как их переиспользовать). Хочу выделить некоторую основу(набор готовых методов + архитектура), которую можно будет легко разворачивать на других проектах.
Смотрел в сторону создания .jar библиотеки и локального репозитория в мавене. Но, так и не решил эту задачу.
Подскажите, пожалуйста, как решали вы подобну. задачу в своей практике.
Я создал core репозиторий, со всем функционалом, который нужен для автоматизации. Каждый следующий проэкт - новый репозиторий, который использует core репозиторий как гит саб модуль. Таким образов, основа фреймворка(core) используеться между всеми проэктами, и она являеться независимой. Делая изменения в core, человек с другого проэкта видит его и пулает их.
Другой вариант - иметь 2 репозитория, один для core, второй для всех проэктов. Каждый проэкт живет в отдельной ветке репозитория и использует core как саб модуль. Все остальное происходит так как я описал выше.
Мне понравилось, работает хорошо. Все остались довольны.