слишком высокое покрытие кода в KarmaJS с karma-coverage и Jasmine

Я использую Jasmine в качестве основы для тестирования своего приложения AngularJS. Я запускаю тесты с помощью Grunt & KarmaJS. KarmaJS также генерирует покрытие кода с помощью karma-coverage.

Теперь я создал модель для данных конфигурации, которую мне также нужно создать для других тестов. Из-за этого экземпляра я получаю покрытие кода для этого файла, хотя я не проводил для него никаких тестов. Только потому, что при тестовом прогоне использовались все линии, покрытие 100%.

Теперь вопрос: есть ли способ указать в моих тестах, какие файлы они охватывают?

В модуле PHP есть аннотация @covers, которая указывает, какой код охватывается с тестом.

Спасибо


person Lord Midi    schedule 28.12.2015    source источник


Ответы (1)


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

В Стамбуле вы можете указать, что блок кода должен игнорироваться. в целях покрытия. Вы можете попробовать разместить что-то вроде этого в верхней части вашего файла:

/* istanbul ignore next */

Я не пробовал это сам, но держу пари, что это или что-то подобное сделает то, что вы хотите.

person Andrew Eisenberg    schedule 29.12.2015
comment
Прежде всего спасибо за ответ и ссылку. Но это не то, чем я хочу заниматься. Это исключает включение кода в отчет о покрытии. Но мне нужно аннотировать мои тесты, какой код они охватывают. С помощью комментария игнорирования я аннотирую строки исходного кода, которые не должны учитываться в отчете о покрытии. Но, может быть, кто-то нашел хороший обходной путь с помощью игнорирования, но я не вижу здесь решения. - person Lord Midi; 29.12.2015