coverage

15 мая 2018 16:20

Скрипты OneScript


Библиотека для конвертации результата расчета покрытия тестами в различные форматы

Возможности

  • Конвертация в формат GenericCoverage, используемый SonarQube
  • Конвертация в формат Clover, используемый на серверe сборок Bamboo
  • Конвертация в формат Cobertura - популярный формат python и java

Установка

Для установки необходимо:

  • Скачать файл coverage.ospx из раздела releases
  • Воспользоваться командой:
opm install -f <ПутьКФайлу>

или установить с хаба пакетов

opm install coverage

Пример работы

  • Файл coverage.os
#Использовать coverage
#Использовать 1commands

ФС.ОбеспечитьПустойКаталог("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 с содержанием
#Использовать coverage
#Использовать 1commands

ФС.ОбеспечитьПустойКаталог("coverage");
ПутьКСтат = "coverage/stat.json";

Команда = Новый Команда;
Команда.УстановитьКоманду("oscript");
Команда.ДобавитьПараметр("-encoding=utf-8");
Команда.ДобавитьПараметр(СтрШаблон("-codestat=%1", ПутьКСтат));    
Команда.ДобавитьПараметр("tasks/test.os"); // ВАЖНО ФАЙЛ ДЛЯ ТЕСТОВ
Команда.ПоказыватьВыводНемедленно(Истина);

КодВозврата = Команда.Исполнить();

Файл_Стат = Новый Файл(ПутьКСтат);

ПроцессорГенерации = Новый ГенераторОтчетаПокрытия();

ПроцессорГенерации.ОтносительныеПути()
				.ФайлСтатистики(Файл_Стат.ПолноеИмя)
				.Cobertura()
				.Сформировать();
  • Запустить файл coverage.os для выполнения тестов и создания отчетов
  • Включить просмотр покрытия (Display Coverage) в контекстном меню открытого файла

Публичный интерфейс

Документация публичного интерфейса (в разработке)

Доработка

Доработка проводится по git-flow. Жду ваших PR.

Лицензия

Смотри файл LICENSE.

Сайт 0

См. также

coverage-cli

Комментарии

Модератору