Исключение зависимостей из покрытия кода JS Test Driver

В моем файле конфигурации JS Test Driver я исключаю модульные тесты из расчета покрытия кода, помещая их под test вместо load.

Однако я не могу сделать это для зависимостей, таких как jQuery из Underscore.js, поскольку их нужно загрузить перед моим кодом.

Есть ли способ обойти это? Или я просто имею дело с медленным выполнением покрытия кода и беспорядком статистики?


person Travis Watson    schedule 09.08.2012    source источник


Ответы (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. /a>, который позволяет исключить файлы, соответствующие регулярному выражению, поэтому у вас будет:

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». (С этим патчем вам не нужно беспокоиться о обратной косой черте Windows)

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

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

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

person Edgar Villegas Alvarado    schedule 23.11.2012
comment
Надеюсь, они добавят этот патч. Жесткое кодирование абсолютных путей — это кошмар с несколькими разработчиками с разными предпочтениями для своих локальных репозиториев. - person Travis Watson; 14.12.2012

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

См. здесь.

person Greg Ross    schedule 26.08.2012