2014-11-13 10 views

risposta

3

Sembra a me come si sta facendo per una pagina stai caricando in un browser per eseguire Mocha. Per fare questo nel browser è possibile passare questi parametri nella URL della pagina:

  • grep che corrisponde approssimativamente all'opzione --grep sulla riga di comando. Ciò limita i test eseguiti a quelli che corrispondono all'espressione passata a grep. Tuttavia, c'è attualmente (anche a partire da 2.0.1) nessun modo per far sì che Mocha interpreti questo parametro come un'espressione regolare . È sempre interpretato come una stringa. Ecco perché ho detto "corrisponde approssimativamente". --grep sulla riga di comando è un'espressione regolare ma il parametro grep passato in un URL è una stringa.

  • invert che corrisponde all'opzione --invert sulla riga di comando. Ciò invertirà la corrispondenza eseguita da grep e quindi seleziona i test che non corrispondono a grep.

Quindi, se si apre la pagina aggiungendo la seguente stringa ?grep=(slow)&invert=1 verrà eseguito i test che non hanno la stringa "(slow)" in loro.

+0

Funziona! Grazie. – callumacrae

+0

È possibile utilizzare espressioni regolari dal codice javascript. Ad esempio: 'mocha.setup ({ui: 'bdd', grep: new RegExp (". * ")}); Mocha.run();' –

4

È possibile eseguire questa operazione con una combinazione di due interruttori della riga di comando. Ecco la parte rilevante della documentazione:

-g, --grep <pattern> only run tests matching <pattern> -i, --invert inverts --grep matches

1

Grep accetta un modello regex, si può fare in questo modo:

mocha --grep '^(?!.*\\b\(slow\)\\b)' 
Problemi correlati