Webpack istanbul-instrumenter-loader загружает не все исходные файлы - PullRequest
0 голосов
/ 03 октября 2019

У меня большой проект, но в настоящее время в нем очень мало тестов. Охват на удивление высокий. Причина, по которой охват является высоким, заключается в том, что покрытие предоставляется только для файлов, которые имеют тесты !!

Мое покрытие фактически уменьшается, когда я добавляю больше тестов. Когда я добавляю новый тестовый файл, он вытягивает больше источников, и итоги операторов / ветвей / функций / линий увеличиваются.

В html-отчетах о покрытии большое количество классов вообще не перечислено.

Как мне включить ВСЕ исходные файлы в мой отчет о покрытии, даже если на них не ссылаются мои тесты?

Я потратил немного времени на изучение этого, но не могу понять, почему на землео них не сообщается.

(к сожалению, у меня нет доступа к SO с моего рабочего компьютера, поэтому я не могу напрямую скопировать / вставить что-либо здесь - мне приходится печатать примеры)

Основной областью конфигурации, представляющей интерес для этого, является загрузчик инструментов. Насколько я понимаю, istanbul-instrumenter-loader добавляет дополнительный код в мой JavaScript (перенесено из Typescript). Затем запускаются тесты и собирается информация о покрытии. Затем репортер coverage-istanbul сообщает о захваченных данных.

Моя конфигурация загрузчика:

{
    test: /\.ts$/,
    use: {
        loader: "istanbul-instrumenter-loader",
        options: {
            esModules: true,
            produceSourceMap: true
        }
    },
    enforce: "post",
    include: path.resolve("main"), // main is my src folder
    exclude: /.spec.ts$/
}

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

Просто чтобы подтвердить, что мой файл tsconfig.spec.json включает все источники, которые я хотел охватить, я намеренно вызвал ошибку компиляции на одном из файлов, который не был включен в покрытиесообщить и подтвердил, что эта ошибка обнаружена в тестовой компиляции.

...