You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2026-04-05 14:50:22 +02:00
3.5 KiB
3.5 KiB
Руководство для AGENTS
Каноничный исходный код
- Основная реализация библиотеки находится в
src/ru/BSL/OpenIntegrations. - Если поведение кода и тестов расходится, в первую очередь считать этот каталог источником истины.
Каноничные тесты
- Основные BSL-тесты находятся в
src/ru/BSL/Tests. - При разборе бизнес-логики сначала анализировать эти тесты, и только затем зеркала.
Зеркало OneScript
- Зеркальные файлы OneScript находятся в
src/ru/OInt(включаяsrc/ru/OInt/tests). - Использовать этот каталог для проверки CLI/runtime-паритета, но не как первый источник при разборе BSL-регрессий.
Соглашения по тестовым модулям
- У каждого функционального модуля есть два связанных тестовых модуля с тем же базовым именем:
- основные тесты с префиксом
OPIt_ - тесты CLI с префиксом
OPItc_ - функциональные модули используют префикс
OPI_
- основные тесты с префиксом
- Не редактировать модули
OPItc_вручную: CLI-тесты генерируются автоматически в CI-пайплайне из модулейOPIt_. - Каждый тестовый модуль должен содержать:
- область
ЗапускаемыеТестыс процедурами-обертками - область
АтомарныеТестыс атомарными проверками
- область
- Запускаемые тесты вызывают несколько атомарных.
- Количество атомарных тестов должно соответствовать количеству методов функционального модуля.
- Количество запускаемых тестов должно соответствовать количеству областей функционального модуля.
- В спорных/неочевидных ситуациях ориентироваться на существующие тесты как на каноничные примеры.
Реестр и функции проверок
- Каждый запускаемый тест должен быть указан в
ПолучитьТаблицуТестовв модулеOPI_ПолучениеДанныхТестов. - В
OPI_ПолучениеДанныхТестовтакже находятся функции-проверки:- по одной функции-проверке на каждый атомарный тест
- с возможным ветвлением внутри по параметру
Вариант
Правила именования
- Формат имени атомарного теста:
<ИмяМодуляБезПрефикса>_<ИмяМетодаФункциональногоМодуля>
- Формат имени запускаемого теста:
<ЛюбоеСокращениеИмениМодуляБезПрефикса><ИмяОбласти>
- Формат имени функции-проверки:
Проверка_<ИмяАтомарногоТеста>