mocha.opts veraltet, wie auf package.json migrieren?

8

Ich arbeite an einem riesigen Projekt und seit letzter Woche habe ich Mokka aktualisiert. Jetzt werden wir gewarnt:

DeprecationWarning: Die Konfiguration über mocha.opts ist DEPRECATED und wird aus einer zukünftigen Version von Mocha entfernt. Verwenden Sie stattdessen RC-Dateien oder package.json.

Ich möchte die Optionen auf package.json migrieren, aber es gibt keinen guten Migrationsleitfaden. Alle Beiträge auf GitHub mit ähnlichen Fragen werden mit "siehe Dokumente" beantwortet. In den Dokumenten wird jedoch nicht gezeigt, wie eine Option von mocha.opts nach package.json übertragen wird. Es gibt keine Informationen darüber, wie sie formatiert werden soll. Ich kann nur feststellen, dass die Eigenschaft "spec" das Muster für die Ausführung von Dateien ist. Nichts anderes scheint mir implizit.

Unsere mocha.opts Datei:

--reporter dot
--require test/mocha.main
--recursive src/**/*.test.js
--grep @slow --invert

Mein Versuch, der nicht funktioniert :

  "mocha": {
    "reporter": "dot",
    "require": "test/mocha.main",
    "spec": "src/**/*.test.js",
    "grep": "@slow --invert"
  },

Bitte erläutern Sie, wie ich diesen Konfigurationsblock formatieren soll, um ein Samme-Verhalten zu erzielen, wie bei Verwendung der Optionen aus den obigen mocha.opts

Rasmus Puls
quelle
Hallo, hast du jemals die Lösung gefunden oder eine Traktion bekommen?
Fernando B
1
Nein, ich warte immer noch geduldig. Ich überprüfe diesen Beitrag häufig und schaue in den Mokka-Dokumenten nach Updates. Ich verspreche Ihnen, dass ich hier eine ausführliche Antwort schreiben werde, sobald ich weiß, wie man erfolgreich
Rasmus Puls

Antworten:

3

Schauen Sie sich diesen Link an, um das neue Format der Optionsdatei für Mokka zu sehen:

https://github.com/mochajs/mocha/blob/master/example/config/.mocharc.yml

Grundsätzlich benötigen Sie eine .mocharc.yml oder .mocharc.json (es gibt noch ein paar weitere Formate), um die Mokka-Konfigurationen festzulegen. Ich kam zu diesem POST in der Hoffnung, auch eine Antwort zu finden. Hoffe das ist hilfreich für dich!

omenokal
quelle
Vielen Dank für die Veröffentlichung. Aber nachdem ich eine .mocharc.json erstellt habe, in der sich meine mocha.opts befand, kann ich bestätigen, dass null dieser Optionen angewendet wird.
Rasmus Puls
0

Scheint, als würde Mokka die Datei package.json standardmäßig nicht auf Konfiguration überprüfen, sodass Sie übergeben müssen --package package.json.

Geben Sie hier die Bildbeschreibung ein

Matthew
quelle
Aha, interessant. Daher dachte ich, meine Konfiguration in package.json würde angewendet, wenn die Dateien getestet würden, die dem Muster "spec" entsprechen: "src / ** / *. Test.js". Aber ich habe gerade alle Konfigurationen gelöscht und festgestellt, dass sie mit den Standard-Mokka-Einstellungen getestet wurden ...
Rasmus Puls
0

    /* This example illustrates how to configure mocha globally
    *1. add the 'mocharch.json' to link mocha to the 'package.json'   like so:
    */

    {
        "package": "./package.json"
    }

    /* 2. in the 'package.json' add: */
    "mocha": {
        "recursive": "true"
    }

Dmity Bryuhanov
quelle
Vielen Dank für Ihre Antwort. Aber ich sehe einen absoluten Null-Effekt. Ich habe jetzt sowohl .mocharch.json als auch mocharch.json (ohne Punkt) hinzugefügt. beide zeigen auf package.json wie in Ihrem Beispiel. Wenn ich in meiner package.json "spec" so ändere, dass sie keiner meiner Dateien entspricht, werden alle Tests noch ausgeführt, was darauf hinweist, dass diese Optionen nicht angewendet werden. Was ich sehe, ist das Standardverhalten von Mokka.
Rasmus Puls