https://github.com/oscript-library/coverage
Конвертация результата покрытия тестами исходных кодов в различных форматах
https://github.com/oscript-library/coverage
Last synced: about 1 month ago
JSON representation
Конвертация результата покрытия тестами исходных кодов в различных форматах
- Host: GitHub
- URL: https://github.com/oscript-library/coverage
- Owner: oscript-library
- License: apache-2.0
- Created: 2018-05-10T07:12:11.000Z (almost 8 years ago)
- Default Branch: develop
- Last Pushed: 2025-01-05T15:42:50.000Z (about 1 year ago)
- Last Synced: 2025-09-05T05:44:17.832Z (6 months ago)
- Language: 1C Enterprise
- Homepage:
- Size: 64.5 KB
- Stars: 14
- Watchers: 5
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# oscript-coverage
[](https://github.com/khorevaa/oscript-coverage/stargazers)
[](https://github.com/khorevaa/oscript-coverage/releases)
[](https://gitter.im/EvilBeaver/oscript-library)
[](https://travis-ci.org/khorevaa/oscript-coverage)
[](https://coveralls.io/github/khorevaa/oscript-coverage?branch=master)
# Библиотека для конвертации результата расчета покрытия тестами в различные форматы
## Возможности
* Конвертация в формат `GenericCoverage`, используемый SonarQube
* Конвертация в формат `Clover`, используемый на серверe сборок `Bamboo`
* Конвертация в формат `Cobertura` - популярный формат `python` и `java`
## Установка
Для установки необходимо:
* Скачать файл coverage.ospx из раздела [releases](https://github.com/khorevaa/oscript-coverage/releases)
* Воспользоваться командой:
```
opm install -f <ПутьКФайлу>
```
или установить с хаба пакетов
```
opm install coverage
```
## Пример работы
- Файл `coverage.os`
```bsl
#Использовать 1commands
#Использовать coverage
#Использовать fs
ФС.ОбеспечитьПустойКаталог("coverage");
ПутьКСтат = "coverage/stat.json";
Команда = Новый Команда;
Команда.УстановитьКоманду("oscript");
Команда.ДобавитьПараметр("-encoding=utf-8");
Команда.ДобавитьПараметр(СтрШаблон("-codestat=%1", ПутьКСтат));
Команда.ДобавитьПараметр("tasks/test.os"); // Файла запуска тестов
Команда.ПоказыватьВыводНемедленно(Истина);
КодВозврата = Команда.Исполнить();
Файл_Стат = Новый Файл(ПутьКСтат);
ИмяПакета = "oscript-package";
ПроцессорГенерации = Новый ГенераторОтчетаПокрытия();
ПроцессорГенерации.ОтносительныеПути()
.ФайлСтатистики(Файл_Стат.ПолноеИмя)
.GenericCoverage() // // Формирование отчета в формате GenericCoverage
.Cobertura() // Формирование отчета в формате Cobertura
.Clover(ИмяПакета) // Формирование отчета в формате Clover
.Сформировать();
ЗавершитьРаботу(КодВозврата);
```
## Использование совместно с `vscode`
* Установить расширение `coverage-gutters` для `vscode`
* Установить путь к файлу покрытия (настройка `coverage-gutters.xmlname`): `coverage/coverage.xml`
* Установить библиотеке `coverage` по инструкции
* Создать файла `coverage.os` с содержанием
```bsl
#Использовать 1commands
#Использовать coverage
#Использовать fs
ФС.ОбеспечитьПустойКаталог("coverage");
ПутьКСтат = "coverage/stat.json";
Команда = Новый Команда;
Команда.УстановитьКоманду("oscript");
Команда.ДобавитьПараметр("-encoding=utf-8");
Команда.ДобавитьПараметр(СтрШаблон("-codestat=%1", ПутьКСтат));
Команда.ДобавитьПараметр("tasks/test.os"); // ВАЖНО ФАЙЛ ДЛЯ ТЕСТОВ
Команда.ПоказыватьВыводНемедленно(Истина);
КодВозврата = Команда.Исполнить();
Файл_Стат = Новый Файл(ПутьКСтат);
ПроцессорГенерации = Новый ГенераторОтчетаПокрытия();
ПроцессорГенерации.ОтносительныеПути()
.ФайлСтатистики(Файл_Стат.ПолноеИмя)
.Cobertura()
.Сформировать();
```
* Запустить файл `coverage.os` для выполнения тестов и создания отчетов
* Включить просмотр покрытия (`Display Coverage`) в контекстном меню открытого файла
## Публичный интерфейс
[Документация публичного интерфейса (в разработке)](docs/README.md)
## Доработка
Доработка проводится по git-flow. Жду ваших PR.
## Лицензия
Смотри файл `LICENSE`.