Skill v1.0.2
currentAutomated scan100/100~2 modified
version: "1.0.2" name: 1c-platform-tools-test description: Тестирование 1С. Используй, когда пользователь просит запустить тесты, XUnit, Vanessa, синтаксический контроль, построить Allure-отчёт.
Тестирование: команды и MCP
Выполняй запуск тестов и отчётов через команды расширения или инструменты MCP. Выполняй команду сам (Execute Command или MCP), не проси пользователя нажимать палитру.
Когда вызывать
| Запрос пользователя (примеры) | Действие | |
|---|---|---|
| Запусти тесты, XUnit, Vanessa | test_xunit / test_vanessa или команда | |
| Синтаксический контроль | test_syntaxCheck или команда | |
| Построй Allure-отчёт | test_allure или команда | |
| Собери/разбери unit тесты (.epf) | команда buildEpf / decompileEpf |
Команды расширения
| Задача | Command ID | |
|---|---|---|
| XUnit тесты | 1c-platform-tools.test.xunit | |
| Синтаксический контроль | 1c-platform-tools.test.syntaxCheck | |
| Vanessa тесты | 1c-platform-tools.test.vanessa | |
| YAxUnit тесты | 1c-platform-tools.test.yaxunit | |
| Allure отчёт | 1c-platform-tools.test.allure | |
| Собрать unit тесты | 1c-platform-tools.test.buildEpf | |
| Разобрать unit тесты | 1c-platform-tools.test.decompileEpf | |
| Запустить EPF в Предприятии | 1c-platform-tools.externalProcessors.run | |
| Настроить тестовые фреймворки | 1c-platform-tools.test.configure | |
| Загрузить тестовые расширения | 1c-platform-tools.test.loadExtensions | |
| Выгрузить тестовые расширения | 1c-platform-tools.test.dumpExtensions | |
| Собрать тестовые расширения | 1c-platform-tools.test.buildExtensions | |
| Разобрать тестовые расширения | 1c-platform-tools.test.decompileExtensions |
Тестовые расширения (YAxUnit и расширение с тестами) живут в tests/cfe, собранные *.cfe — в build/out/tests/cfe; команды расширений решения их не трогают. Перед прогоном YAxUnit расширения должны быть в базе: test.loadExtensions. В дереве команд и они, и сборка/разборка unit тестов - в группе «Тестовое окружение», запуск тестов - в «Тестировании».
Сборка/разборка unit тестов (тестовых обработок 1С): исходники в tests/epf, собранные .epf — в build/out/tests/epf (артефакт, в git не попадает). В tests — скриптовые .os-тесты OneScript; дымовые наборы Vanessa-ADD поставляются в пакете add (oscript_modules). Обе команды возвращают структурированный результат.
Панель тестирования VS Code
Тесты также отображаются в нативной панели «Тестирование» (Test Explorer): Vanessa (.feature), xUnit (тестовые обработки в tests/epf), YAxUnit, OneScript (.os в tests), 1bdd — с запуском отдельных тестов и статусами. Для интерактивной работы пользователя направляй туда; команды выше — для прогона «всего сразу» и агентных циклов.
Запуск обработок в Предприятии (externalProcessors.run)
Служебные шаги (загрузка фикстур, инициализация ИБ внешней обработкой) — MCP externalProcs_run или Execute Command 1c-platform-tools.externalProcessors.run:
{ "projectPath": "...", "execute": "./build/out/epf/ЗагрузкаФикстур.epf","command": "Путь=./fixtures/Константы.xml;ЗавершитьРаботуСистемы" }
execute — путь к EPF/ERF, command — строка параметров /C; нужен хотя бы один из них.
Настройка фреймворков (test.configure)
Неинтерактивно — MCP test_configure или Execute Command 1c-platform-tools.test.configure с параметром frameworks (ключи: vanessa, xunit, yaxunit, onescript, onebdd; перечисленные включаются, остальные выключаются, недостающие каталоги создаются).
Агентный вызов без frameworks вернёт ошибку с подсказкой, окно не откроется. Интерактивный визард доступен только пользователю из палитры.
MCP (mcp-1c-platform-tools)
Если доступны инструменты MCP, используй их: test_xunit, test_syntaxCheck, test_vanessa, test_yaxunit, test_allure, externalProcs_run, test_configure, а для тестовых расширений - test_loadExts, test_dumpExts, test_buildExts, test_decompileExts.
Параметр projectPath
Обязательный. Корень проекта 1С (каталог с packagedef). Если пользователь указал путь — используй его; иначе корень workspace.
Параметр settingsFile
Файл настроек vanessa-runner относительно projectPath; перекрывает активный профиль для конкретного вызова. Используй, когда нужен другой набор сценариев или другая ИБ без переключения профиля (например, init-профиль tools/vrunner.init.json вместо основного env.json).
Параметр wait
wait: true — ждать завершения операции и получить структурированный результат:
{success: boolean, // прогон тестов: true только если тесты прошлиexitCode: number,stdout: string, // вывод vrunner и сводка прогонаstderr: string,tests?: { // прогоны тестов: сводка по отчётуtotal, passed, failed, errors, skipped,reportPath, failedTests}}
`wait: true` — по умолчанию: агент читает success, exitCode, счётчики тестов и решает, что делать дальше.
`wait: false`: команда уходит в терминал, результат прогона неизвестен — только когда пользователь смотрит выполнение сам.
Поддержка wait: true (тесты)
| MCP-инструмент | wait: true | |
|---|---|---|
test_syntaxCheck | ✅ | |
test_xunit | ✅ | |
test_vanessa | ✅ | |
test_yaxunit | ✅ | |
externalProcs_run | ✅ | |
test_configure | ✅ (с параметром frameworks) | |
test_allure | ❌ (открывает браузер) |
Примеры
- Проверка синтаксиса (агентный цикл):
`` test_syntaxCheck { projectPath: "C:/projects/MyProject" } ` → вернёт { success: false, exitCode: 1, stdout: "ОШИБКА - ...", stderr: "" }`
- Прогон тестов под другим файлом настроек, без переключения профиля:
`` test_vanessa { projectPath: "C:/projects/MyProject", settingsFile: "tools/vrunner.init.json" } `` → в ответе счётчики прогона и список упавших тестов
- Выполни команду
1c-platform-tools.test.xunitдля запуска XUnit-тестов текущего проекта. - Вызови MCP
test_vanessaсprojectPath= корень проекта 1С.