Исключить зависимости из покрытия кода JS Test Driver
В моем файле конфигурации JS Test Driver я исключаю модульные тесты из расчета покрытия кода, помещая их в test
вместо load
,
Однако я не могу сделать это для зависимостей, таких как jQuery из Underscore.js, так как они должны быть загружены перед моим кодом.
Есть ли способ обойти это? Или я просто имею дело с медленными прогонами покрытия кода и статистическими помехами?
2 ответа
Решение 1:
Как говорит Грег, есть способ использовать параметр "args", но, к сожалению, вы должны указать полный путь, например (для Windows):
plugin:
- name: "coverage"
jar: "lib/coverage-1.3.2.jar"
module: "com.google.jstestdriver.coverage.CoverageModule"
#Here put the files that have to be ignored by coverage. Non-existent files do not harm.
args: "
D:\\apache\\htdocs\\XTIME\\js\\lib\\ext-all.js,
D:\\apache\\htdocs\\XTIME\\js\\lib\\jquery-1.7.2.min.js,
"
Для файловых систем Linux вам не нужно использовать двойную косую черту.
Решение 2:
В этом потоке есть также исправленный jar для 1.3.5, который позволяет исключать файлы, которые соответствуют регулярному выражению, поэтому у вас должно быть:
plugin:
- name: "coverage"
jar: "lib/coverage-1.3.5.serve-patch.jar" #this patched jar allows to use excludesRegex
module: "com.google.jstestdriver.coverage.CoverageModule"
args: "excludesRegex: /js/lib/.*\\.js$"
/js/lib/.*\.js$
Регулярное выражение означает "Исключить все файлы.js, расположенные внутри js/lib
Msgstr "(с этим патчем вам не нужно беспокоиться о обратной косой черте в Windows)
Я предпочитаю этот способ гораздо больше, так как он переносим, потому что он не зависит от конкретного пути для вашего приложения.
Вы можете скачать исправленную версию здесь (смотрите комментарий 11 в ветке).
Надеюсь это поможет.
Ура, из Ла-Пас-Боливия
Вы можете исключить библиотеки из покрытия кода, указав их в разделе "args" в конфигурации. Однако обратите внимание, что пути должны быть абсолютными. На момент написания, последний плагин jsTestDriver для покрытия кода будет игнорировать библиотеки, только если пути абсолютные.
Смотрите здесь.