Перейти к содержимому

Подбор кейсов по изменениям в коде

Кейсам и сьютам можно указать код, который они проверяют, — glob-шаблоны путей репозитория продукта (src/payments/**, api/{orders,payments}/*.ts, или просто папка src/cart). Шаблоны сьюта наследуются вложенными сьютами и кейсами.

По списку изменённых файлов TSMC возвращает ранжированный список кейсов с объяснением, почему каждый выбран:

Причина Вес
шаблон самого кейса или изменён файл его автотеста (по ключу автотеста) 3
шаблон сьюта кейса 2
шаблон внешнего сьюта 1
+ каждый следующий затронутый файл +0,2 (до +1)
+ критичный / высокий приоритет +1 / +0,5
+ провалился в последнем прогоне +1

Файлы, которые не покрывает ни один шаблон, показываются отдельно — это подсказка, где не хватает кейсов.

Окно терминала
# в репозитории продукта, на ветке с изменениями
pnpm tsmc impact -p SHOP --base origin/main # что прогнать
pnpm tsmc impact -p SHOP --base origin/main --create-run "PR 42" # и сразу создать прогон

В интерфейсе: Прогоны → «Подбор по изменениям» (вставить вывод git diff --name-only), выбрать кейсы, создать прогон. В файлах кейсов шаблоны хранятся в поле paths (и в _suite.md для сьютов). API: POST /api/projects/:project/impact.