Исключить зависимости из покрытия кода 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/libMsgstr "(с этим патчем вам не нужно беспокоиться о обратной косой черте в Windows)

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

Вы можете скачать исправленную версию здесь (смотрите комментарий 11 в ветке).

Надеюсь это поможет.
Ура, из Ла-Пас-Боливия

Вы можете исключить библиотеки из покрытия кода, указав их в разделе "args" в конфигурации. Однако обратите внимание, что пути должны быть абсолютными. На момент написания, последний плагин jsTestDriver для покрытия кода будет игнорировать библиотеки, только если пути абсолютные.

Смотрите здесь.

Другие вопросы по тегам