2017-04-06 3 views
0

Ich habe zwei Testverzeichnisse. Komponententests und Integrationstests. Beide benutzen Mokka.Kann ich Mocha Timeout pro Verzeichnis einstellen?

Komponententests werden im Durchschnitt zwischen 1-5 ms durchgeführt. Leider dauern unsere Integrationstests länger. Einige von ihnen bis zu 30 Sekunden.

Ich frage mich, ob ich das Timeout auf 30 Sekunden nur für das Test/Integration-Verzeichnis setzen könnte, aber Test/Einheit mit dem Standard-Mocha-Timeout (2 Sekunden) in der mocha.opts-Datei verlassen. Oder haben Sie vielleicht mehrere mocha.opts Dateien.

Antwort

0

Es gibt keine Unterstützung für mehrere mocha.opts Dateien, die für einen einzelnen Aufruf von Mocha aktiv sind. Sie könnten jedoch zwei Mocha-Aufrufe mit jeweils eigenen mocha.opts haben.

Wenn Sie alles in einem einzigen Mocha-Aufruf haben möchten und verschiedene Timeouts für verschiedene Teile der Suite festlegen möchten, gibt es keine direkte Möglichkeit, Mocha mitzuteilen, dass Dateien in diesem Verzeichnis eine Zeitüberschreitung aufweisen und Dateien in diesem anderen Verzeichnis eine andere Zeitüberschreitung aufweisen ". Sie sind begrenzt this.timeout in Ihre Rückrufe zu nennen, wie folgt aus:

describe("User view", function() { 
    this.timeout(...); 

    // Tests.... 
}); 

Wenn Sie Ihre Suite strukturieren, so dass alle Integrationstests von Mocha gesehen werden als Nachkommen eines einzigen Top-describe sein, können Sie diese Timeout wirksam gesetzt in Nur ein Ort (der Top describe) für alle Ihre Integrationstests. Eine Möglichkeit zum Strukturieren einer Suite finden Sie unter this question and its answers.

Verwandte Themen