Closed ovcharenko-di closed 4 months ago
Обновление зависимостей и расширение функциональности в проекте Jenkins. Добавлены новые методы для работы с файлами, поддержка конфигурации YAXUnit, а также улучшена логика загрузки расширений. Оптимизированы тесты и обновлены документации.
Файлы | Описание изменений |
---|---|
build.gradle.kts |
Обновление зависимости mockito-core , добавление пустых строк |
src/.../IStepExecutor.groovy , src/.../StepExecutor.groovy |
Добавление метода writeFile |
src/.../configuration/*.groovy |
Расширение поддержки конфигураций, добавление yaxunitOptions , обновление классов и методов |
src/.../steps/*.groovy |
Добавление и обновление методов для работы с расширениями и тестами YAXUnit |
vars/*.groovy |
Добавление и обновление скриптов для работы со стадиями и расширениями |
test/.../*.groovy , test/.../*.java |
Добавление новых тестов и утверждений |
README.md |
Обновление документации с учетом новых функций и тестов |
🐇 "В коде мир создаю я новый,
🌟 Изменения вношу с любовью.
📜 Строк за строкой — как ноты в песне,
🛠️ Каждый коммит — мой маленький шедевр.
🎉 Пусть будет код чист, как звездный свет!"
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Может это, "скоммуницироваться в социуме" с @Segate-ekb на тему списка стейджей, когда грузить? Можно ещё vrunner.json прям в элемент Extension добавить
Может это, "скоммуницироваться в социуме" с @Segate-ekb на тему списка стейджей, когда грузить? Можно ещё vrunner.json прям в элемент Extension добавить
Ну как по мне, то проще всего предусмотреть возможность грузить везде, где используется предприятие+ дефолтная точка загрузки, как сейчас. На данный момент- это Смоуки, бдд, yaxunit и инициализация бд
@nixel2007 добавил stash\unstash собранных расширений
Поменяй пожалуйста порядок стейджей ещё.
Сначала загрузка расширений, а потом первоначальный запуск базы. А то зачастую конфа которая заточена под расширение без него не отработает.
Я потестировал PR, шаг работает отлично, публикует и в jUnit и в Allure (хотя с аллюром вопрос - можно ли сгруппировать тесты, сейчас они идут просто по-одному списком, если публиковать в аллюр ещё дымовые/бдд то там каша получается).
Есть один вопрос:
Вот так выглядит сейчас сборочная линия, зачем нужен шаг загрузки расширений перед каждым шагом проверки? Чисто логически мы 1 раз загружаем все расширения (кроме яксюнита) вначале, далее они уже на всех шагах присутствуют. А вот как раз перед шагом юнит тестов надо загрузить яксюнит. Потому что сейчас у меня например дымовые стали падать потому что начали проверять открытие обработок яксюнита.
@ivanmolodec загрузка\незагрузка расширения YAXUnit - это только один частный случай. Допускаю, что возможность загружать\не загружать то или иное расширение может пригодиться и в других стейджах. Соответственно, нужна гибкая настройка.
Кстати, если при запуске дымовых в базе стали открываться обработки YAXUnit, значит, проект сконфигурирован не совсем правильно: для расширения YAXUnit необходимо указать stages: ['yaxunit']
. Тогда это расширение будет загружено только перед выполнением yaxunit.
Логика обработки расширений в пайплайне такая: 1) в базу загружаются все расширения, для которых в конфиге не указаны stages 2) выполняется архивация ИБ далее, параллельно для каждого stage: 3) выполняется разархивация ИБ 4) в базу загружаются расширения, для которых в конфиге в списке stages указан текущий stage
@ivanmolodec загрузка\незагрузка расширения YAXUnit - это только один частный случай. Допускаю, что возможность загружать\не загружать то или иное расширение может пригодиться и в других стейджах. Соответственно, нужна гибкая настройка.
Кстати, если при запуске дымовых в базе стали открываться обработки YAXUnit, значит, проект сконфигурирован не совсем правильно: для расширения YAXUnit необходимо указать
stages: ['yaxunit']
. Тогда это расширение будет загружено только перед выполнением yaxunit.Логика обработки расширений в пайплайне такая:
- в базу загружаются все расширения, для которых в конфиге не указаны stages
- выполняется архивация ИБ далее, параллельно для каждого stage:
- выполняется разархивация ИБ
- в базу загружаются расширения, для которых в конфиге в списке stages указан текущий stage
Да, теперь понятно. Просто нигде в ридми это не прописано, или ткни меня туда) Если нет, то стоит дописать потому что не очевидно
Что-то у меня при такой настройке конфигурации он подключил расширение и при инициализации, и перед шагом юнит-тестов. Что я делаю не так?)
"initInfobase": {
"initMethod": "fromSource",
"extensions": [
{
"name": "YAXUnit",
"initMethod": "fromSource",
"path": "src/cfe/YAXUnit",
"stages": ["yaxunit"]
}
]
}
@ivanmolodec посмотрю
@ovcharenko-di посмотри нет ли конфликтов после мержа соседнего мр, пожалуйста.
@nixel2007 ок, позже
@ivanmolodec спасибо, я нашел и исправил ошибку. сейчас расширения лишний раз не должны загружаться
@nixel2007 влил develop, все по прежнему красиво
@ivanmolodec спасибо, я нашел и исправил ошибку. сейчас расширения лишний раз не должны загружаться
@nixel2007 влил develop, все по прежнему красиво
Спасибо! Проверил, загрузилось только перед шагом яксюнита, сборка полностью зеленая)
@ovcharenko-di @ivanmolodec посоны, ещё один follow-up :(
@ivanmolodec организуешь красивый скрин? :)
@ivanmolodec организуешь красивый скрин? :)
Не знаю насколько он красивый конечно)
@ivanmolodec для полной красоты осталось едт настроить)
Огромное спасибо, ребята!
Вместо #94 Решил выделить в отдельный PR, чтобы было удобно работать с ним напрямую.
Для решения проблемы с подключением расширений после доп. шагов инициализации (где могут создаваться пользователи ИБ) я добавил возможность использования vrunner.json в initInfoBase.
Summary by CodeRabbit
Новые функции
yaxunitOptions
для расширения настроек конфигурации.Исправления ошибок
Обновления зависимостей
mockito-core
с версии3.3.3
до5.11.0
.Рефакторинг
writeFile
для записи текста в файл с указанной кодировкой.yaxunit
.Тесты