2013-10-11 3 views
0

Я пытаюсь выполнить только подмножество тестов на jasmine моего узла.Jasmine-node CLI: указать параметр соответствия файла

У меня есть структура проекта следующим образом

root 
    + server 
    + invite 
     +specs 
     inviteSendSpec.js 
     inviteConfirmSpec.js 
     .. many more spec files 
    + auth 
     +specs 
     .. many spec files 

Я могу выполнить все тесты из корня, запустив:

node-jasmine --verbose server/ 

Я пытаюсь понять, как использовать -m параметр, так что я могу просто запустить тест, соответствующий определенному шаблону имени файла.

например.

node-jasmine --verbose -m invite server/ 

должен запускать все тесты, содержащие приглашение, в соответствии с несколькими примерами, которые я нашел. Но вместо этого он просто находит один тест.

Если я попытаюсь запустить аналогичный вариант, например.

node-jasmine --verbose -m send server/ 

он не найдет ни одного теста.

Каков правильный синтаксис для выбора подмножества тестов?

p.s. Я бег жасмин-узел 11.1.0 (поэтому его не проблема walkdir)

ответ

2

-m или --match параметр действительно используется для сопоставления имени файла.

Я ударил меня по клавиатуре в течение нескольких часов и в итоге посмотрел на источник для cli.js.

Так вот билет (cli.js, строка 228):

var regExpSpec = new RegExp(match + (matchall ? "" : "spec\\.") + "(" + extensions + ")$", 'i') 

Aha!

Во-первых, вы ДОЛЖНЫ указать ключ -matchall, иначе он будет использовать префикс «spec» по умолчанию.

Во-вторых, нет никакого способа, вы можете указать расширения, они либо JS или JS | кофе | litcoffee если вы используете --coffee параметр командной строки

Мои тестовые файлы имеют unit.js суффикс (не спрашивайте почему), поэтому я закончил с

cli.js --verbose --matchall --match unit\. --test-dir C:\MyProject\ 

и он выполнил эту работу.

0

Ваших имен файлов прямо и

из документации github.com/mhevery/jasmine-node

Примечания: ваши спецификации файлы должны быть названы как * spec.js, * spec.coffee или * spec.litcoffee, который соответствует регулярному выражению /spec.(js|coffee|litcoffee)$/i; иначе жасминовый узел не найдет их ! Например, sampleSpecs.js ошибочно, sampleSpec.js прав.

Вам просто нужно запустить папку отверстия:

узла-жасмин --verbose сервер/пригласить/функция/

узел жасмин --verbose сервер/Auth/спецификацию/