VSC Переход к определению экспортного сценария

add

#1

Есть плагин https://marketplace.visualstudio.com/items?itemName=alexkrechik.cucumberautocomplete
Он вроде как обещает и автозаполнение, и переход к определению экспортного сценария.
Но настроить мне не удается, подозреваю, что из-за кривых рук.
У кого-нибудь получилось?
PS. Просто когда фичи файлы рамках проекта начинают переваливать за несколько сотен, а сам тест вырастает до десятков тысяч шагов, то отсутствие такой возможности очень даже начинает нервировать.


#2

Когда я его пробовал, мне тоже “из коробки” не удалось заставить автодополнение на русскоязычных фичах в нем работать.

Потом стал тестировать на англоязычных фичах - работал, но тоже странно - подсказка всплывает только после того, как полностью наберешь одно из ключевых слов - when, given, then и без пробела после него начнешь писать имя шага. В итоге помучался и отказался от использования автокомплита.

Автокомплит SB (https://marketplace.visualstudio.com/items?itemName=silverbulleters.gherkin-autocomplete), кстати, тоже не пошел, но не помню по какой причине.


#3

Пока локально на себе пробую доработки, но плагин уже становится не универсальным, а чисто для add/vanessa-automation. Типа указываем путь к библиотекам, указываем путь к папке с исходниками (по которым ищем bsl файлы), указіваем путь к папке фич.
Определяются шаги для ExportScenarions, при открытии файла фичи над каждым шагом пишу hover, єто бибилиотечній шаг или нет. По F12 можно открыть фичу с ExprotTags или же перекинутся на процедуру в модуле bsl которая реализует данный шаг.


#4

Так может и сделать плагином отдельным, геркин для bsl?


#5

До этого еще далеко, пока только определение сниппета сделал, для возможности потом поиска по процедурам и модулям в формах.
Еще конечно не хватает возможности указать путь к отчету allure и сразу напротив шагов успешных рисовать зеленые флажки, а напротив сломанных красные кружочки.


#6

А если мы сможем частично профинансировать разработку, то это поможет ускорить?
Очень бы хотелось допилить быстрый переход к определению вызываемого шага.
Идея с allure прикольна, но нам сейчас гораздо более актуально, если бы удалось сделать контроль комментариев при коммите. А конкретнее обязательность указания номера задачи в Jira, и контроль корректности (если человек делает коммит в рамках задачи, то эта задача должна быть на нем, и в статусе in progress). Сейчас консы, которые пишут фичи, до сих пор очень часто ошибаются в номерах задач. Универсальность, по понятным причинам, нас не сильно волнует.
Если потенциально тебе это может быть интересно, то напиши в личку здесь или, лучше, в https://t.me/stalnoy Оперативно созвонимся и всё обсудим.
PS. Разумеется, я исхожу из того, что плагин будет опенсорс, и его смогут использовать и дорабатывать все желающие.


#7

https://microsoft.github.io/language-server-protocol/ - может в эту сторону посмотреть? вроде все есть для реализации


#8

Плагин из ссылки в топикстартере и реализован в виде language server.
Проблема не в способе реализации, проблема в том, что ни одна из реализаций нормально не работает :frowning:


#9

написать свою на оскрипте? там апи на первыый взгляд не очень сложное


#10

просто глядя на код предполагаю что проблема в определении const gherkinWords
тут https://raw.githubusercontent.com/alexkrechik/VSCucumberAutoComplete/master/gserver/src/steps.handler.ts
вывод просто на логике, я не особо разбираюсь в ts


#11

Если честно, не вижу как вам в этом поможет плагин для геркина. Вам нужен прекоммит-хук или пост-коммит шаг на сервере сборок, который будет дергать jira-api с определёнными параметрами


#12

Или еще лучше серверный update-хук, чтобы исключить забывчивость разработчиков при инициализации рабочей копии репозитория.


#13

Блин. Затупил. Это, действительно, и проще, и логичнее делать в прекоммит-хуке. Спасибо.


#14

А что мешает подать issue на проекте указанном в топике ? Это во первых. Там проект живой - решают быстро.

А во вторых - чтобы корректно обрабатывать номер задачи, обычная практика использовать хуки - только на сервере https://docs.gitlab.com/ee/administration/custom_hooks.html#custom-git-hooks

То есть указанную ошибку будет проверять сервер привязался или не привязался номер задачи к jira

Идея в том что только ты знаешь логику проверок, поэтому универсальных хуков очень мало

Функция ПриПолученииКоммитовНаСервере()

    Для Каждого Коммит из ТекущийКомплектКоммитов Цикл
            Если Коммит.СодержитФичи() Тогда
                 Коммит.ПроверитьУказаниеЗадачиВФиче()
            КонецЕсли
            Коммит.ПроверитьВозможностьПривязкиКЖире()
    КонецЦикла

КонецФункции

#15

Как-то так, можно потестировать работу можно поставив вручную расширение, уже собранное по сслыке https://goo.gl/xdNT1G

Работает примерно так: https://youtu.be/-Lx_KwJmKzI


#16

Женя, Очень хороший результат получается.


#17

@pumbaE Поддержку шагов 1bdd из os-файлов в дополнение к шагам ADD.bddRunner как реализовать?
Исходники выложишь?


#18

Исходники https://github.com/silverbulleters/gherkin-autocomplete/commits/feature/autocomplite


#19

Поддержка шагов 1bdd для пакетов OneScript мной реализована.

Также я внес полезные дополнения для упрощения работы + ускорил работу