2014-11-13 11 views

Odpowiedz

3

Wydaje mi jak robisz to na stronie ładujesz w przeglądarce, aby uruchomić Mocha. Aby to zrobić w przeglądarce można przekazać te parametry w adresie URL strony:

  • grep która w przybliżeniu odpowiada opcji --grep w wierszu poleceń. To ogranicza testy do tych, które pasują do wyrażenia przekazanego do grep. Jednak obecnie (nawet od 2.0.1) nie ma możliwości przekonania Mocha do interpretacji tego parametru jako wyrażenia regularnego . Jest zawsze interpretowane jako ciąg znaków. Dlatego powiedziałem "w przybliżeniu odpowiada". --grep w wierszu poleceń jest wyrażeniem regularnym, ale parametr grep przekazany w adresie URL jest ciągiem znaków.

  • , które odpowiadają opcji --invert w wierszu poleceń. Spowoduje to odwrócenie dopasowania przeprowadzonego przez grep i tym samym wybranie testów, które nie są zgodne z grep.

jeśli otworzę stronę dołączając następujący ciąg ?grep=(slow)&invert=1 będzie uruchomić testy, które nie mają ciąg "(slow)" w nich tak.

+0

Działa! Dziękuję Ci. – callumacrae

+0

Korzystanie z wyrażeń regularnych jest możliwe z kodu javascript. Na przykład: 'mocha.setup ({ui: 'bdd', grep: new RegExp (". * ")}); Mocha.run();' –

4

Można to zrobić za pomocą kombinacji dwóch przełączników wiersza poleceń. Tutaj jest odpowiednia część dokumentacji:

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

1

Grep akceptuje wzór regex, można zrobić to tak:

mocha --grep '^(?!.*\\b\(slow\)\\b)' 
Powiązane problemy