Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Построение фреймворка(переиспользования наработок с одного проекта на другой )

design-patterns
architecture
webdriver
Теги: #<Tag:0x00007f7b6449ccd0> #<Tag:0x00007f7b6449cb40> #<Tag:0x00007f7b6449c9b0>

(vlogvinov) #1

Всем привет!

Цель: зделать фреймворк, который можно будет легко переносить на другие проекты и расширять.

Что есть сейчас: Проект, который покрыт автотестами. Используем Selenium Webdriver, ЯП - Java,фреймворк для тестов - TestNG, сборщик - gradle

Вопрос: как правильно перенести тесты/методы/архитектуру на другой проект(т.е. как их переиспользовать). Хочу выделить некоторую основу(набор готовых методов + архитектура), которую можно будет легко разворачивать на других проектах.

Смотрел в сторону создания .jar библиотеки и локального репозитория в мавене. Но, так и не решил эту задачу.

Подскажите, пожалуйста, как решали вы подобну. задачу в своей практике.

Спасибо


(Oleg Kuzovkov) #2

Я создал core репозиторий, со всем функционалом, который нужен для автоматизации. Каждый следующий проэкт - новый репозиторий, который использует core репозиторий как гит саб модуль. Таким образов, основа фреймворка(core) используеться между всеми проэктами, и она являеться независимой. Делая изменения в core, человек с другого проэкта видит его и пулает их.

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

Мне понравилось, работает хорошо. Все остались довольны.