test - Запуск тестов
Группа команд test обеспечивает запуск автоматизированного тестирования 1С-конфигураций: модульного (xUnit) и функционального (BDD) через фреймворк Vanessa-ADD, а также модульного через фреймворк YAxUnit.
vrunner test <подкоманда> [опции] [аргументы]Все три подкоманды умеют собирать покрытие кода тестами — см. Сбор покрытия тестами →.
xunit
Запускает модульные тесты через обработку xddTestRunner.epf (xUnit for 1C).
vrunner test xunit [опции] [TESTSPATH]Аргументы
| Аргумент | Переменная окружения | Описание |
|---|---|---|
TESTSPATH | VRUNNER_TESTSPATH | Путь к каталогу или файлу с тестами, или к встроенным тестам (с --config-tests). Поддерживается макрос $addRoot — каталог установки vanessa-add |
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--workspace | VRUNNER_WORKSPACE | Путь к папке проекта для макросов $workspace (по умолчанию - текущий) |
--pathxunit | VRUNNER_PATHXUNIT | Путь к внешней обработке xddTestRunner.epf (по умолчанию из vanessa-add) |
--reportsxunit | VRUNNER_REPORTSXUNIT | Параметры формирования отчётов: Формат{Путь};Формат{Путь} — подробнее |
--reportxunit | - | Путь к каталогу с отчётом jUnit (устарел, используйте --reportsxunit) |
--xddExitCodePath | - | Путь к файлу статуса (0=пройдены, 1=не пройдены) |
--xddConfig | - | Путь к конфигурационному файлу xUnitFor1c |
--testclient | - | Параметры тест-клиента: Пользователь:Пароль:Порт |
--testclient-additional | - | Дополнительные параметры запуска тест-клиента |
--config-tests | VRUNNER_CONFIG_TESTS | Загружать тесты, встроенные в конфигурацию |
--no-wait | - | Не ожидать завершения |
--xdddebug | - | Выводить отладочные сообщения при прогоне |
--no-shutdown | - | Не завершать 1С после выполнения тестов |
--clear-reports | - | Очищать каталоги отчётов перед запуском |
--ibconnection | VRUNNER_IBCONNECTION | Строка подключения к ИБ (/F<путь> - файловая, /S<сервер>\<база> - серверная) |
--db-user | VRUNNER_DBUSER | Пользователь ИБ |
--db-pwd | VRUNNER_DBPWD | Пароль пользователя ИБ |
--ibcmd | - | Использовать ibcmd вместо Конфигуратора |
--v8version | VRUNNER_V8VERSION | Версия платформы 1С |
--uccode | VRUNNER_UCCODE | Код разрешения блокировки |
--language | VRUNNER_LANGUAGE | Язык платформы |
--locale | VRUNNER_LOCALE | Язык сеанса (локаль) |
--nocacheuse | VRUNNER_NOCACHEUSE | Не использовать кеш платформы |
--ordinaryapp | VRUNNER_ORDINARYAPP | Режим запуска: 1 (толстый), 0 (тонкий), -1 (авто) |
--additional | VRUNNER_ADDITIONAL | Дополнительные параметры запуска платформы |
--settings | VRUNNER_SETTINGS | Путь к файлу настроек (JSON) |
Подробнее о форматах строки подключения и ibcmd: Подключение к базе данных →
Формат reportsxunit
Параметр --reportsxunit задаёт список отчётов через точку с запятой:
junit{./build/reports/junit.xml};allure{./build/reports/allure}Краткие форматы (регистр не важен) и соответствующие генераторы Vanessa-ADD:
| Краткий формат | Генератор Vanessa-ADD |
|---|---|
junit | ГенераторОтчетаJUnitXML |
allure | ГенераторОтчетаAllureXMLВерсия2 |
json | ГенераторОтчетаJSON |
mxl | ГенераторОтчетаMXL |
genericexecution | ГенераторОтчетаGenericExecution |
Вместо краткого формата можно указать полное имя генератора Vanessa-ADD (ГенераторОтчетаJUnitXML{путь} или GenerateReportJUnitXML{путь}) — в том числе генератора-плагина, которого нет в кратком списке.
Примеры
# Запустить тесты и сформировать JUnit-отчёт
vrunner test xunit \
--ibconnection /F./ib \
--reportsxunit "jUnit{./build/reports/junit.xml}" \
./tests
# Тесты, встроенные в конфигурацию
vrunner test xunit \
--ibconnection /F./ib \
--config-tests \
--reportsxunit "jUnit{./build/reports/junit.xml}"
# Встроенные дымовые тесты vanessa-add (макрос $addRoot)
vrunner test xunit \
--ibconnection /F./ib \
'$addRoot/tests/smoke'
# Запустить конкретный файл с тестами
vrunner test xunit \
--ibconnection /F./ib \
--xddExitCodePath ./build/status.txt \
./tests/MyTests.os
# С тест-клиентом (клиент-серверный режим)
vrunner test xunit \
--ibconnection "/SMyServer\MyIB" \
--testclient "Тест:password:1538" \
--reportsxunit "jUnit{./build/reports/junit.xml}" \
./testsyaxunit
Запускает модульные тесты через фреймворк YAxUnit. В отличие от xUnit, YAxUnit не требует внешней обработки-раннера: движок фреймворка и сами тесты подключаются к информационной базе как расширения конфигурации и исполняются внутри 1С:Предприятия.
vrunner test yaxunit [опции]Предварительная подготовка ИБ
Перед запуском в информационную базу должны быть загружены через cfe load (обновление конфигурации БД к базе выполняется по умолчанию):
- расширение-движок YAxUnit (
.cfeсо страницы релизов проекта); - расширение(я) с тестовыми модулями — общими модулями, регистрирующими тесты в процедуре
ИсполняемыеСценарии.
Без применения к базе (не указывайте --no-update-db) модули тестов не попадут в метаданные сеанса, и YAxUnit их не обнаружит. Движку также требуется отключённый безопасный режим (у загруженного расширения он выключен по умолчанию) — иначе он не сможет прочитать файл запуска.
Опции
Конфигурацию запуска YAxUnit можно задать двумя способами: передать готовый файл через --yaxunit-config (используется как есть) либо собрать её из опций фильтрации и отчёта, перечисленных ниже.
| Опция | Переменная окружения | Описание |
|---|---|---|
--yaxunit-config | VRUNNER_YAXUNIT_CONFIG | Путь к готовому yaxunit.json — используется как есть, опции фильтрации и отчёта игнорируются |
--ext | VRUNNER_YAXUNIT_EXT | Имена расширений с тестами через запятую (filter.extensions) |
--modules | - | Имена модулей с тестами через запятую (filter.modules) |
--tests | - | Полные имена тестов через запятую в формате Модуль.Тест (filter.tests) |
--tags | - | Теги тестов через запятую (filter.tags) |
--suites | - | Имена наборов тестов через запятую (filter.suites) |
--report | VRUNNER_YAXUNIT_REPORT | Путь к файлу или каталогу отчёта (reportPath); если не указан — отчёт jUnit формируется во временном файле |
--report-format | - | Формат отчёта: jUnit (по умолчанию), JSON, allure |
--exitcode | VRUNNER_YAXUNIT_EXITCODE | Путь к файлу кода возврата тестирования (0 - пройдены, 1 - есть ошибки) |
--project-path | VRUNNER_PROJECT_PATH | Корневой каталог проекта для зависимостей ФайлыПроекта (projectPath); по умолчанию - каталог запуска vrunner |
--workspace | VRUNNER_WORKSPACE | Рабочий каталог пространства YAxUnit (workspacePath) |
--show-report | - | Открывать форму отчёта после тестов (по умолчанию выключено) |
--no-close | - | Не закрывать 1С:Предприятие после выполнения тестов |
--no-wait | - | Не ожидать завершения |
--ibconnection | VRUNNER_IBCONNECTION | Строка подключения к ИБ (/F<путь> - файловая, /S<сервер>\<база> - серверная) |
--db-user | VRUNNER_DBUSER | Пользователь ИБ |
--db-pwd | VRUNNER_DBPWD | Пароль пользователя ИБ |
--ibcmd | - | Использовать ibcmd вместо Конфигуратора |
--v8version | VRUNNER_V8VERSION | Версия платформы 1С |
--uccode | VRUNNER_UCCODE | Код разрешения блокировки |
--language | VRUNNER_LANGUAGE | Язык платформы |
--locale | VRUNNER_LOCALE | Язык сеанса (локаль) |
--nocacheuse | VRUNNER_NOCACHEUSE | Не использовать кеш платформы |
--ordinaryapp | VRUNNER_ORDINARYAPP | Режим запуска: 1 (толстый), 0 (тонкий), -1 (авто) |
--additional | VRUNNER_ADDITIONAL | Дополнительные параметры запуска платформы |
--settings | VRUNNER_SETTINGS | Путь к файлу настроек (JSON) |
Подробнее о форматах строки подключения и ibcmd: Подключение к базе данных →
Фильтрация тестов
Опции --ext, --modules, --tests, --tags, --suites формируют секцию filter файла запуска YAxUnit и комбинируются по «И»: например, --ext МоиТесты --tags smoke запустит тесты с тегом smoke только из расширения МоиТесты. Если не задана ни одна опция фильтра, выполняются все обнаруженные тесты. При указании --yaxunit-config опции фильтрации не применяются — фильтр берётся из переданного файла.
Результат и код возврата
Команда работоспособна с минимумом параметров — достаточно строки подключения (расширения YAxUnit и тестов должны быть загружены в ИБ). Если путь к отчёту не задан, отчёт jUnit формируется во временном файле, после чего команда разбирает его и печатает короткое саммари в консоль:
YAxUnit: всего 12, успешно 11, провалено 1, ошибок 0, пропущено 0
[x] МойМодуль.ПроверкаСложения [Сервер] — ожидали 4, получили 5Код возврата команды: 0 — все тесты пройдены; ненулевой — есть провалы/ошибки либо отчёт не сформирован (например, не загружены движок или расширения с тестами). Это позволяет использовать команду в CI без дополнительных опций. Авто-саммари формируется для формата jUnit (по умолчанию); для прочих форматов выводится только путь к отчёту.
Примеры
# Минимальный запуск: только подключение (отчёт во временный файл + саммари в консоль)
vrunner test yaxunit --ibconnection /F./ib
# Запустить все тесты из расширения и сформировать JUnit-отчёт
vrunner test yaxunit \
--ibconnection /F./ib \
--ext МоиТесты \
--report ./build/reports/yaxunit.xml \
--exitcode ./build/status.txt
# Запустить конкретные модули
vrunner test yaxunit \
--ibconnection /F./ib \
--modules МодульТестовКаталога,МодульТестовДокумента \
--report ./build/reports/yaxunit.xml
# Только тесты с заданными тегами
vrunner test yaxunit \
--ibconnection /F./ib \
--ext МоиТесты \
--tags "smoke,critical"
# Использовать готовый конфигурационный файл
vrunner test yaxunit \
--ibconnection /F./ib \
--yaxunit-config ./yaxunit.jsonФормат yaxunit.json
Готовый файл запуска (--yaxunit-config) описывает фильтрацию тестов, формат и путь отчёта, файл кода возврата и поведение после прогона. Подробнее о формате см. в документации YAxUnit.
vanessa
Запускает функциональные тесты по сценариям в формате Gherkin через обработку bddRunner.epf (Vanessa-ADD BDD).
vrunner test vanessa [опции]Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--feature-path | VRUNNER_FEATUREPATH | Путь к каталогу с фичами или к конкретному файлу .feature. Передаётся в Vanessa-ADD через переменную окружения VANESSA_FEATUREPATH и переопределяет КаталогФич из настроек. Несовместим с --ordinaryapp 1 |
--bddrunner-path | VRUNNER_PATHVANESSA | Путь к bddRunner.epf (по умолчанию из vanessa-add) |
--vanessasettings | VRUNNER_VANESSASETTINGS | Путь к файлу настроек фреймворка тестирования |
--workspace | VRUNNER_WORKSPACE | Путь к папке проекта |
--tags-ignore | - | Теги для игнорирования файлов фич |
--tags-filter | - | Теги для фильтрации файлов фич |
--additional-keys | - | Дополнительные параметры, передаваемые в /C |
--no-wait | - | Не ожидать завершения |
--ibconnection | VRUNNER_IBCONNECTION | Строка подключения к ИБ (/F<путь> - файловая, /S<сервер>\<база> - серверная) |
--db-user | VRUNNER_DBUSER | Пользователь ИБ |
--db-pwd | VRUNNER_DBPWD | Пароль пользователя ИБ |
--ibcmd | - | Использовать ibcmd вместо Конфигуратора |
--v8version | VRUNNER_V8VERSION | Версия платформы 1С |
--uccode | VRUNNER_UCCODE | Код разрешения блокировки |
--language | VRUNNER_LANGUAGE | Язык платформы |
--locale | VRUNNER_LOCALE | Язык сеанса (локаль) |
--nocacheuse | VRUNNER_NOCACHEUSE | Не использовать кеш платформы |
--ordinaryapp | VRUNNER_ORDINARYAPP | Режим запуска: 1 (толстый), 0 (тонкий), -1 (авто) |
--additional | VRUNNER_ADDITIONAL | Дополнительные параметры запуска платформы |
--settings | VRUNNER_SETTINGS | Путь к файлу настроек (JSON) |
Подробнее о форматах строки подключения и ibcmd: Подключение к базе данных →
Примеры
# Запустить все фичи
vrunner test vanessa \
--ibconnection /F./ib \
--feature-path ./features \
--vanessasettings ./vb-params.json
# Запустить с фильтром по тегам
vrunner test vanessa \
--ibconnection /F./ib \
--feature-path ./features \
--tags-filter "@smoke" \
--tags-ignore "@wip"
# Запустить конкретную фичу
vrunner test vanessa \
--ibconnection /F./ib \
--feature-path ./features/Catalog.featurevanessasettings
Файл настроек vb-params.json содержит конфигурацию Vanessa-ADD: пути к отчётам, настройки скриншотов, тайм-ауты и другие параметры. Документацию по формату файла см. в репозитории vanessa-add.
Покрытие тестами
Все три подкоманды (xunit, yaxunit, vanessa) умеют собирать покрытие кода тестами в XML-отчёт (genericCoverage, Cobertura, Clover). Сбор включается одной опцией — --coverage-report. Как это устроено, форматы отчёта, работа с сервером отладки и клиент-серверными базами — в отдельной статье: Сбор покрытия тестами →.
vrunner test yaxunit --ibconnection /F./ib --coverage-report ./build/coverage.xmlОпции покрытия
| Опция | Переменная окружения | Описание |
|---|---|---|
--coverage-report | VRUNNER_COVERAGE_REPORT | Путь к файлу отчёта. Если задан — покрытие собирается |
--coverage-format | VRUNNER_COVERAGE_FORMAT | Формат отчёта: generic (по умолчанию), cobertura, clover |
--coverage-src | VRUNNER_COVERAGE_SRC | Каталог исходников конфигурации (по умолчанию ./src) |
--coverage-ext | - | Каталог исходников расширения (можно указать несколько раз) |
--coverage-server | VRUNNER_COVERAGE_SERVER | Сервер отладки [хост:]порт (пусто/порт — локально; хост:порт — существующий) |
--coverage-dbgs | VRUNNER_COVERAGE_DBGS | Путь к серверу отладки dbgs (по умолчанию — по версии платформы) |
--coverage-alias | VRUNNER_COVERAGE_ALIAS | Имя (алиас) ИБ для сессии отладки |
--coverage-debug-pwd | VRUNNER_COVERAGE_DEBUG_PWD | Пароль сервера отладки |
--coverage-skip-lines | VRUNNER_COVERAGE_SKIP_LINES | Не считать процент покрытия (только исполненные строки) |
Подробности, ограничения и примеры: Сбор покрытия тестами →.
