Mocha-Chai löst aufgrund der React-Router-Komponente "Navigator nicht definiert" aus

8

Ich schreibe einen Test für eine React-Komponente, die react-router verwendet. Ich benutze Mocha mit Chai und Chai-jQuery.

Meine Tests funktionieren einwandfrei, bis ich eine Komponente vom React-Router in eine Komponente (z. B. Link) importiere. An diesem Punkt erhalte ich den folgenden Fehler:

%Vor%

Ich habe einen ähnlichen Fehler mit react-bootstrap bekommen, bis ich aktualisiert habe, um bootstrap v0.29.3 zu reagieren. Ich habe die neueste Version von react-router v2.4.0 (und history v2.1.1). Aber das Problem besteht weiter.

Die einzige Lösung, die ich gefunden habe, ist node_modules/history/lib/DOMUtils : navigator in window.navigator zu ändern. Dies ist jedoch ein Hack und keine gute Lösung.

Ich denke, das Problem ist mit react-router, aber ich habe keine Lösung.

Nur für den Fall, hier ist mein test-helper.js .

%Vor%     
Nico Cernek 06.05.2016, 18:11
quelle

1 Antwort

23

Es scheint, dass react-router davon ausgeht, dass navigator im globalen Bereich liegt.

Um diesen Fehler zu beheben, sollten Sie navigator zum globalen Bereich in Ihrer Test-Setup-Phase hinzufügen:

%Vor%     
Jonathan Huang 07.05.2016, 05:30
quelle

Tags und Links