Удаление / игнорирование метки времени нижнего колонтитула отчета о содержании html или lcov в Стамбуле - PullRequest
0 голосов
/ 26 апреля 2018

Сейчас у меня есть монорепо, использующее lerna, каждый пакет имеет свои собственные инструменты тестирования / покрытия, то есть один пакет может использовать ava + nyc, другой может использовать jest.Я создаю покрытие для каждого пакета индивидуально, чтобы у каждого пакета была своя собственная папка покрытия.Это приводит к тому, что lerna не может сказать, какие пакеты обновлять при публикации, потому что всякий раз, когда я запускаю новый тест, у меня появляется коммит с новыми файлами покрытия из-за одной строки:

Code coverage generated by istanbul at Wed Apr 25 2018 00:03:42 GMT-0400 (EDT)

Я выследил нижний колонтитул в Стамбуле и, возможно, мог бы добавить нового репортера, у которого не было бы отметки времени в нижнем колонтитуле, шансы того, что Стамбул примет это изменение, невелики.

Iищу способ использования git / diffing, чтобы игнорировать (оформить) изменение этой строки в файле.Проблема в том, что нет единого способа (возможно, регулярного выражения) игнорировать этот файл, то есть он не всегда будет находиться в одной строке.Поэтому я не могу использовать файл патча.

Мне бы очень хотелось, чтобы любые предложения по игнорированию данного изменения в конкретном файле были такими.

Параметры:

  1. Смотрите, как добавить PR в Стамбул или разветвить с отметкой времени.удалено (неблагоприятно)
  2. Когда создается новое покрытие и разница между последним и новым только этим изменением нижнего колонтитула, файлы считываются с помощью извлечения, сохраняя исходную временную метку, если не было внесено никаких реальных изменений.
  3. Создайте сценарий, используя jsdom, проанализируйте html файлы с узлом, удалите временную метку все вместе и обновите файлы покрытия после выполнения сценария покрытия.

Поиск предложений!

1 Ответ

0 голосов
/ 26 апреля 2018

Я решил эту проблему немного по-другому.

A.Я изменил репортеры покрытия, чтобы предоставить только JSON, который не содержит каких-либо конкретных временных отметок.

lerna exec -- "json -I -e \"this.jest.coverageReporters=['json']\" -f ./package.json"

B.Я удалил все отчеты, только оставив JSON

lerna exec -- rm -rf ./coverage/lcov-report

C.Добавлен скрипт в родительский проект для создания покрытия (объединение всех файлов json)

istanbul report --include=./packages/**/coverage/coverage-final.json

Это дает дополнительное преимущество - создание одного сайта для всех пакетов независимо от того, как пакеты тестируются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...