1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2026-04-05 14:50:22 +02:00
Files
OpenIntegrations/AGENTS.md

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_ПолучениеДанныхТестов также находятся функции-проверки:
    • по одной функции-проверке на каждый атомарный тест
    • с возможным ветвлением внутри по параметру Вариант

Правила именования

  • Формат имени атомарного теста:
    • <ИмяМодуляБезПрефикса>_<ИмяМетодаФункциональногоМодуля>
  • Формат имени запускаемого теста:
    • <ЛюбоеСокращениеИмениМодуляБезПрефикса><ИмяОбласти>
  • Формат имени функции-проверки:
    • Проверка_<ИмяАтомарногоТеста>