Gibt es eine .mocha-Datei, in der ich Standardeinstellungen wie --no-Farben angeben kann?

81

Ich möchte einige Standardeinstellungen für Mokka festlegen, ohne sie jedes Mal eingeben zu müssen. Sucht Mokka irgendwo nach einer Konfigurationsdatei / Dotfile, nach der jshint .jshintrcund npm sucht package.json?

mcandre
quelle
Die akzeptierte Antwort ist jetzt veraltet. Ich schlage vor, den neuen zu akzeptieren ( stackoverflow.com/a/54804446/1740079 ), um zu verhindern, dass mehr Menschen den alten Ansatz verwenden.
Nicooga

Antworten:

91

Ja. Sie können eine Datei erstellen ./test/mocha.optsund in der Datei angeben --no-colors.

Weitere Informationen finden Sie unter mocha.opts in Mocha Doc .

zs2020
quelle
4
Dies ist veraltet. Siehe @ miggs Antwort hier .
Katie Kilian
47

Der Standardwert ist ./test/mocha.opts. Sie können einen benutzerdefinierten Pfad mit dem --optsParameter übergeben:

mocha --opts ./mocha.opts

Nützlich, wenn Sie Ihre Tests nicht im test/Ordner, sondern beispielsweise neben Codedateien speichern.

Jeder Name und jede Erweiterung scheint zu funktionieren, so dass Sie sogar tun können, mocha --opts .mocharcwenn Sie möchten, dass es gut passt .jshintrc, .babelrcund dergleichen.

gabssnake
quelle
2
Dies ist (oder war zumindest) eine sehr dunkle Funktion. Ich hatte vor langer Zeit die Hoffnung auf so etwas aufgegeben und danke, dass Sie darauf hingewiesen haben, dass dies jetzt möglich ist. :)
DBrown
5
VIELEN DANK! Tests sollten wirklich neben Dateien sein. Lokalität ist wichtig!
Byron Whitlock
1
Ist es möglich, dass der Inhalt der Datei JSON ist?
Jared Dykstra
Es scheint nicht so. Die CLI teilt den Inhalt durch Leerzeichen auf und analysiert ihn dann mit dem commanderModul. commanderDer Parser erwartet ein String-Array. mochaQuelle: github.com/nishigori/mocha/blob/… - commanderQuelle: github.com/tj/commander.js/blob/…
gabssnake
1
Sie können mochain einem Skript starten und den Inhalt Ihrer JSON-Datei übergeben. Siehe: github.com/mochajs/mocha/wiki/…
gabssnake
23

In Mokka 6+ mocha.optswurde das geändert legacyund der neue Ort zum Definieren Ihrer Konfiguration ist eine .mocharcDatei, die verschiedene Formate (JSON, YAML, JS) haben kann, wie in den Dokumenten beschrieben, oder eine JSON-Konfiguration, die dem package.jsonusing- mochaSchlüssel hinzugefügt wurde .

Das Festlegen Ihres eigenen Pfads zur Mokka-Konfiguration erfolgt mit, --config <file>aber Mokka verwendet .mocharc.*standardmäßig jede Datei in der in den Dokumenten beschriebenen Reihenfolge (JS, YAML, YML, JSON) und verwendet automatisch mochaSchlüssel von package.jsonmit einer niedrigeren Priorität als eine bestimmte Konfigurationsdatei.

Migg
quelle
Eine Beispieldatei für .mocharc.js finden Sie hier: github.com/mochajs/mocha/blob/master/example/config/.mocharc.js (und es gibt auch andere Formate in diesem Verzeichnis).
Peter W