Skip to content

fix: ИмяМодуляПоСхеме теряет иерархию Features для объектов с подчеркиванием в имени (#684) - #688

Open
astrizhachuk wants to merge 1 commit into
bia-technologies:developfrom
astrizhachuk:fix/684/moduleNameUnderscores
Open

fix: ИмяМодуляПоСхеме теряет иерархию Features для объектов с подчеркиванием в имени (#684)#688
astrizhachuk wants to merge 1 commit into
bia-technologies:developfrom
astrizhachuk:fix/684/moduleNameUnderscores

Conversation

@astrizhachuk

@astrizhachuk astrizhachuk commented Jul 11, 2026

Copy link
Copy Markdown

Проблема

ЮТОтчетAllureСлужебный.ИмяМодуляПоСхеме формирует Allure-метки epic -> feature -> story из имени тестового модуля, разбивая его по _ и ожидая ровно 2 или 3 части (Префикс_Объект[_Суффикс]). В конфигурациях, где имена объектов метаданных сами содержат подчеркивания (префиксы подсистем), схема ломается:

  • 4+ части — модуль выпадает в корень. Док_Подсистема_Объект_МО попадает в ветку «не распознано», epic становится полным именем модуля, feature/story пустые. В дереве Features модуль отображается отдельным корневым узлом.
  • 3 части с префиксом подсистемы — фиктивный узел. ОМ_Подсистема_Сервис разбирается неверно: feature = "Подсистема", story = "Сервис" — под «Общий модуль» возникает лишний узел.

Closes #684

Решение

Изменен алгоритм разбора имени:

  • суффиксом типа модуля считается только последняя часть и только если она распознается (МО | ММ | НЗ);
  • первая часть — префикс типа объекта (epic);
  • все части между ними склеиваются обратно через _ в имя объекта (feature).

Признак наличия суффикса определяется через уже существующий метод ТипМодуляПоСуффиксу, без дублирования списка суффиксов: для нераспознанного суффикса метод возвращает исходную строку, для известного — переведенное название. Результат вызова переиспользуется для story.

Поведение «чистых» 2-3-частных имен не изменилось.

Тесты

Добавлен тест ИерархияТеста_РазборИмениМодуля, проверяющий разбор имени через публичный метод ИерархияТеста (ключи epic/feature/story), включая сценарии с подчеркиванием в имени объекта и имя из нескольких частей. Тест зарегистрирован в ИсполняемыеСценарии.

Summary by CodeRabbit

  • Улучшения

    • Улучшен разбор имён модулей для построения иерархии Allure.
    • Поддержана корректная обработка имён с несколькими символами подчёркивания.
    • Поля epic, feature и story теперь определяются гибче в зависимости от префикса и суффикса имени.
  • Тесты

    • Добавлены проверки разбора имён модулей с различными вариантами суффиксов и без них.

@coderabbitai

coderabbitai Bot commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

В ИмяМодуляПоСхеме изменён разбор имён с подчёркиваниями: последний распознанный суффикс отделяется, промежуточные части формируют feature, а тип префикса — epic. Добавлен экспортируемый тест для проверки различных комбинаций epic, feature и story.

Changes

Иерархия модулей Allure

Layer / File(s) Summary
Гибкий разбор имени модуля
exts/yaxunit/src/CommonModules/ЮТОтчетAllureСлужебный/Module.bsl
Алгоритм выделяет последний распознанный суффикс, определяет epic по префиксу, объединяет оставшиеся части в feature и устанавливает story только при наличии суффикса.
Тестирование разбора имён
tests/src/CommonModules/ОМ_ЮТОтчетAllureСлужебный/Module.bsl
Добавлены сценарий в список исполняемых тестов, проверки различных форматов имён и вспомогательное построение входных данных для ИерархияТеста.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Poem

Я兔ик прыгнул в Allure-сад,
Где feature снова стройный ряд.
Подчёркивания не страшны,
epic и story теперь честны.
Тесты морковкой шуршат —
Иерархии путь открыт!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Изменения соответствуют #684: суффикс распознается только в конце, промежуточные части собираются в feature, добавлены тесты.
Out of Scope Changes check ✅ Passed В наборе изменений нет явных правок вне заявленного исправления и тестового покрытия.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed Заголовок точно отражает основной баг и исправление: разбор иерархии Allure для имен с подчеркиваниями.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: ИмяМодуляПоСхеме теряет иерархию Features для объектов с подчеркиванием в имени

1 participant