BeforeAll und AfterAll in JavaScript-Testfällen

8

Ich möchte etwas vor allen Tests machen, danach? Wie organisiere ich meinen Code am besten? Zum Beispiel: Backup einige Variablen - & gt; lösche sie - & gt; etwas testen - & gt; Sicherungen wiederherstellen 'beforeEach' und 'afterEach' sind zu teuer. Danke!

    
user2996905 12.02.2014, 11:18
quelle

4 Antworten

9

Eine ziemlich einfache Lösung:

%Vor%

Das hat den Vorteil, dass Sie Ihr Setup / Teardown wirklich irgendwo hinstellen können (zB am Anfang / Ende einer verschachtelten Suite).

    
edan 23.06.2014 15:03
quelle
6

Jasmine & gt; = 2.1 unterstützt beforeAll / afterAll für einmalige Setups und Teardowns für Ihre Suite.

Wenn Sie Jasmine 1.x verwenden, können Sie dafür ein it verwenden (wie von anderen vorgeschlagen) oder ein node_module laden, das vorAll / afterAll unterstützt, zum Beispiel Jasmin-vor-allem .

    
Frank van Wijk 16.04.2015 10:53
quelle
0

Das Aufrufen einer Funktion vor dem Start aller Tests ist trivial; Jasmine (mindestens 1.3.1) erlaubt es Ihnen jedoch nicht, Ihren eigenen fertigen Rückruf außerhalb der Reporter-API anzugeben.

Hier ist ein kurzer kleiner Hack, den ich in Google Groups gefunden habe. Fügen Sie dies Ihrem SpecRunner.html oder einem gleichwertigen Element hinzu.

%Vor%     
Eric 12.02.2014 13:50
quelle
0

Jasmine bietet Optionen, um einen eigenen Reporter zu schreiben und anzuhängen. Um einen Reporter zu implementieren, gibt es grundlegende Rückrufe wie initialize , jasmineStarted und jasmineDone . Damit können Sie Ihre Anforderung erfüllen. In Jasmine 2.0 zum Beispiel finden Sie in jasmine-html.js Datei ein grundlegendes Verständnis.

    
user3037143 12.02.2014 15:29
quelle