- dbgs-proxy - логирующий реверс-прокси для 1С на Node.js
- 1coverage - приложение, которое управляет сбором замеров производительности и конвертирует их в формат genericCoverage или lcov
dbgs-proxy работает между сервером отладки и тестируемым приложением, перехватывает и сохраняет данные замеров производительности в файл. Затем приложение конвертирует этот файл в формат genericCoverage или lcov.
ОбработчикЛоговПрокси
принимает на вход путь к логам прокси, обрабатывает их и формирует таблицуДанныеЗамеров
. ТаблицаДанныеЗамеров
содержит только исходные данные, которые перехватил прокси - Ид объектов, Ид типов модулей и номера строк.ОбработчикДанныхЗамеров
принимает на входДанныеЗамеров
и путь к исходному коду конфигурации, а по ним определяет пути к модулям и формирует таблицуДанныеПокрытия
. Для определения объектов конфигурации использует классОбработчикФайловКонфигурации
.ГенераторОтчетаОПокрытии
принимает на входДанныеПокрытия
и генерирует отчет о покрытии в выбранном формате.
- ОС Windows
- git
- OneScript 1.2
- платформа 1С версии не ниже 8.3
- Node.js
- исходники конфигурации в формате XML или EDT
- проект в SonarQube, связанный с целевой конфигурацией
Рекомендуется выполнять установку из консоли с правами Администратора
Вне зависимости от выбранного способа, dbgs-proxy будет установлен в каталог 1coverage.
Рекомендуемый способ:
- выполнить команду
opm install 1coverage
для установки самого приложения - выполнить команду
1coverage install
для установки dbgs-proxy в каталоге приложения
Ручной способ:
- клонировать репозиторий
- из каталога репозитория выполнить команду
oscript ./src/1coverage/1coverage.os install
1coverage init
1coverage start
1coverage stop
1coverage convert
Для запуска всех тестов необходимо в каталоге приложения выполнить команду opm run test
.
Выполнение тестов требует наличия vanessa-runner.
- Не удалось определить Ид информационной базы.
Причины:
- База не зарегистрирована в списке ИБ текущего пользователя.
- База расположена вне репозитория git и была добавлена в список с помощью vanessa-runner@1.9.0 командой init-dev. Способ обхода: указать параметр
--root
, напримерrunner init-dev --root <КаталогПроекта>
- Использование библиотеки ParseFileV8i@0.0.5 совместно с vanessa-runner@1.9.0 приводит к тому, что ParseFileV8i не может найти зарегистрированную базу в списке.
Крайне приветствуется, см. CONTRIBUTING.md
- @asosnoviy, автору прототипа, который был взят за основу этого приложения
- сообществу OneScript и oscript-library, откуда я заимствовал наиболее удачные решения.