QUnit dazu bringen, Tests in der richtigen Reihenfolge auszuführen

8

Ich habe qunit benutzt, um eine Reihe von Tests für Javascript-Code zu schreiben, den ich habe. Im Moment wird aus irgendeinem Grund der erste Test in meiner Liste ausgeführt, und dann läuft der LETZTE Test in der Liste, gefolgt von der 2. bis zur letzten, 3. bis zur letzten, 4. bis zur letzten, usw. ... Für meine Tests ist das entscheidend Die Dinge laufen in der Reihenfolge, in der ich sie habe. Ich habe versucht, diese Option auszuschalten, wo qunit Tests ausführt, die beim letzten Mal fehlgeschlagen sind, aber es tut das immer noch. Gibt es eine Möglichkeit, das zu beheben?

    
user1028497 27.03.2012, 06:23
quelle

2 Antworten

11

Finden Sie zuerst heraus, warum Ihre Tests in einer bestimmten Reihenfolge laufen müssen. Der ganze Punkt der Komponententests ist, dass die Tests atomar sind und es möglich sein sollte, sie in beliebiger Reihenfolge auszuführen - wenn Ihre Testsuite dazu nicht in der Lage ist, müssen Sie herausfinden, warum dies ein größeres Problem darstellt / p>

Wenn Sie es nicht herausfinden können, müssen Sie möglicherweise Ihre Testsuite in kleinere Gruppen von Tests aufteilen, bis Sie das Problem gefunden haben.

Bearbeiten : Diese Referenz wurde in Ссылка gefunden. Scheinbar hilft das Hinzufügen zu deiner Testsuite QUnit.config.reorder = false;

    
Steve Hill 27.03.2012 06:27
quelle
0

Vielleicht können Sie den Code, der jede Hauptberechnung durchführt, in eine Funktion einfügen, die am Anfang einen Test enthält, der prüft, ob die Berechnung bereits durchgeführt wurde. Wenn die Berechnung nicht durchgeführt wird, führen Sie die Berechnung durch und speichern Sie das Ergebnis irgendwo. Wenn die Berechnung bereits durchgeführt wurde, geben Sie einfach die Ergebnisse zurück. Auf diese Weise können Sie eine einzige Berechnung für alle Tests durchführen, aber immer noch unabhängig von der Reihenfolge, in der die Tests durchgeführt werden.

Ich kann mich auf die Probleme zeitaufwendiger Berechnungen im Komponententest beziehen, aber es ist unbedingt erforderlich, dass die Testgruppe in der Lage ist, jeden Komponententest durchzuführen und als unabhängigen autonomen Test auszuführen. Dies gilt insbesondere dann, wenn ein kritisches Problem auftaucht und speziell angesprochen werden muss.

    
Michael Erickson 01.04.2012 19:52
quelle

Tags und Links