Czy istnieje plik .mocha, w którym mogę określić wartości domyślne, takie jak --no-colors?

81

Chciałbym ustawić kilka ustawień domyślnych dla mokki bez konieczności wpisywania ich za każdym razem. Czy mocha szuka pliku konfiguracyjnego / dotfile w dowolnym miejscu, tak jak szuka jshint, .jshintrca npm package.json?

mcandre
źródło
1
Zaakceptowana odpowiedź jest teraz przestarzała. Sugeruję zaakceptowanie nowego ( stackoverflow.com/a/54804446/1740079 ), aby uniemożliwić większej liczbie osób korzystanie ze starego podejścia.
nicooga

Odpowiedzi:

91

Tak. Możesz utworzyć plik ./test/mocha.optsw pliku, który możesz określić --no-colors.

Aby uzyskać więcej informacji, zobacz mocha.opts w dokumencie Mocha Doc .

zs2020
źródło
4
To zostało wycofane. Zobacz odpowiedź @ migg tutaj .
Katie Kilian,
47

Wartość domyślna to ./test/mocha.opts. Możesz przekazać ścieżkę niestandardową za pomocą --optsparametru:

mocha --opts ./mocha.opts

Przydatne w przypadku, gdy nie przechowujesz testów w test/folderze, ale na przykład obok plików kodu.

Wszelkie nazwy i rozszerzenie wydaje się do pracy, więc można to zrobić nawet mocha --opts .mocharcjeśli chcesz iść dobrze .jshintrc, .babelrci tym podobne.

gabssnake
źródło
2
Jest to (a przynajmniej była) bardzo niejasna funkcja. Już dawno straciłem nadzieję na coś takiego i dziękuję za wskazanie, że teraz jest to możliwe. :)
DBrown
6
DZIĘKUJĘ CI! Testy naprawdę powinny znajdować się obok plików. Lokalizacja jest ważna!
Byron Whitlock,
1
Czy zawartość pliku może być w formacie JSON?
Jared Dykstra
Na to nie wygląda. CLI dzieli zawartość spacjami, a następnie analizuje ją za pomocą commandermodułu. commanderParser oczekuje tablicy ciągów. mochaźródło: github.com/nishigori/mocha/blob/… - commanderźródło: github.com/tj/commander.js/blob/…
gabssnake
1
Możesz uruchomić mochaw skrypcie i przekazać zawartość pliku JSON. Zobacz: github.com/mochajs/mocha/wiki/…
gabssnake
25

W mocha 6+ mocha.optszmieniono na, legacya nowym miejscem do zdefiniowania konfiguracji jest .mocharcplik, który może mieć różne formaty (JSON, YAML, JS) zgodnie z opisem w dokumentacji lub konfiguracją JSON dodaną do klucza package.jsonusing mocha.

Określanie własnej ścieżki do konfiguracji mokka odbywa się za pomocą, --config <file>ale mocha używa .mocharc.*domyślnie dowolnego pliku w kolejności opisanej w dokumentacji (JS, YAML, YML, JSON), a także automatycznie używa mochaklucza package.jsonz niższym priorytetem niż dany plik konfiguracyjny.

migg
źródło
Przykładowy plik .mocharc.js znajduje się tutaj: github.com/mochajs/mocha/blob/master/example/config/.mocharc.js (w tym katalogu są również inne formaty).
Peter W.