Integration / Abnahmetest einer ReactJS App

9

Ich habe die Dokumentation über Jest gelesen. Dies scheint jedoch ein Komponententest einzelner Komponenten zu beinhalten.

Wie testet man die Integration von Komponenten oder akzeptiert das Testen einer Funktion einer Web-App, die mit React JS (mit Flux) geschrieben wurde.

zB Testen des Checkout-Ablaufs in einer E-Commerce-React-App.

  1. Benutzer kann sich anmelden
  2. Benutzer kann den Produktkatalog durchsuchen
  3. Benutzer kann Produkt zum Warenkorb hinzufügen
  4. Benutzer kann zur Kasse gehen

Eckig hat e2e Tests mit Winkelmesser, Ember hat auch End-zu-End-Abnahmeprüfung. Ich kann nichts für React Apps finden.

    
robzolkos 02.04.2015, 15:51
quelle

1 Antwort

3

Ich habe das Problem gelöst, indem ich mehrere Prozesse oder Dienste gestartet habe, um e2e mit mocha zu testen:

  1. Webserver: Ich starte einen einfachen Webserver (wie express), der die Webpack-Build-Pakete ( Ссылка )
  2. Selenium: zur Steuerung des Browsers ( Ссылка )
  3. Mokka in einer 'child_process' Verzweigung

Das sieht in meiner Datei test_runner.js nach dem ich mit 'node test_runner.js' starte:

%Vor%

Sobald der Test beendet ist, stoppt die Funktion alle Dienste.

Der Webserver sollte kein Problem sein, um zu starten. Ich hatte einige Schwierigkeiten mit dem Selenstart und fand einen schönen Weg hier: Ссылка

%Vor%

Der Mocha ist dann im Grunde ein Knotenprozess, der in javascript startet und so aussieht:

%Vor%

Jetzt müssen die Testfälle einen Selentreiber verwenden. Ich wähle webdriverIO, aber es gibt andere Alternativen (siehe hier: Ссылка )

%Vor%

Letzte Anmerkung: Phantomjs funktioniert nicht mit der .bind (this) Funktion von react, daher ist der Phantomjs Browser im Moment keine Option. Der Grund wird hier erklärt: Ссылка

Hoffe das hat geholfen;) Viel Glück.

    
Hayo Parduhn 08.01.2016 17:08
quelle

Tags und Links