Große JS-App-Tests - Vermeidung mehrerer karma.conf.js-Dateien

ich benutzeKarma + Jasmin + Phantom für meine kopflosen Javascript-Tests.

Das Problem, das ich habe, ist, dass ich eine wirklich große App habe, die aus vielen JS-Modulen besteht, die ich testen möchte.Also brauche ich für jeden Fall eigene Mocks und für jeden Fall eigene Includes.

karma.conf.js erlaubt mir nur zu habenfiles Array, das aus Mustern für alle Dateien besteht, die enthalten sollen. Das ist GROSSARTIG, wenn meine App klein und keine große App mit Tonnen von Dateien und Modulen wäre.

Meine Lösung erstmal - erstelle mehrerekarma.conf.js Dateien für jeden Testfall. Aber das ist wirklich zum Kotzen, denn so viele Konfigurationsdateien zu haben, ist ein großes Problem, und wenn ich eine Einstellung ändern möchte (wieAutoWatch) Ich müsste alle Konfigurationsdateien ändern.

Meineandere Lösung - Schreiben Sie einen benutzerdefinierten Handler vorkarma.conf.js um mit zusätzlichen Parametern umzugehen (Spezifikationsdatei oder -ordner, um Karma für die Suche in der Konfigurationsdatei zu umgehen) und einfach zu erstellenfiles Array dynamisch.

Das Problem dabei ist, dass Karma nur einmal ausgeführt wird und ich nur eine Testspezifikation ausführen kann ... undICH MÖCHTE KARMA NICHT SELBST ÄNDERN.

Ich habe auch darüber nachgedachtGrunzen Aber ich habe keine Möglichkeit gefunden, es für mehrere Testfälle zum Laufen zu bringen.

Meine ideale Struktur wäre übrigens so:

Akten haben:

test/specs/category/unit1_spec.js
test/mocks/category/unit1_mock.js

Konfigurationsdatei:

files: [
  {
    'includes': [array_of_includes],
    'spec': 'spec_file'
  }
]

Die Mock-Datei wird automatisch aus dem entsprechenden Mock-Verzeichnis abgerufen.

und ich könnte tunkarma start test/specs/category und es würde rekursiv alle Testfälle innerhalb des Ordners ausführen.

tl; dr - Ich möchte eine große App bequem testen.

Ich würde mich freuenirgendein Vorschlag zur Bewältigung dieser Aufgabe.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage