Ich verwende webpack + babel für eine React + Redux App und Mocha + Karma zum Testen. Die Redux-Testfälle werden korrekt ausgeführt. Wenn ich versuche, DOM-Tests mit Hilfe von react-addons-test-utils durchzuführen und es mit Karma auszuführen, gibt es diesen Fehler
Uncaught TypeError: Ein Symbol-Wert kann nicht in eine Zeichenfolge konvertiert werden in Ссылка
Um es richtig zu debuggen, habe ich ein paar Logger in Karma-Lib-Dateien (ich weiß, ich sollte nicht) und habe diese
Karma-Fehler für React-DOM-Tests
Wenn ich jedoch KarmaJS nicht benutze und einfach versuche, die Tests durchzuführen, scheint es in Ordnung zu sein. Hier ist meine karma.conf
%Vor%EDIT 1. Hinzufügen von webpack.config zu diesem
%Vor%Ihre Tests haben wahrscheinlich eine Nichtübereinstimmung gefunden, die React-Elemente vergleicht, aber Mocha kann keine interne Symbol-Eigenschaft in eine Zeichenfolge konvertieren.
Versuchen Sie, die Datei node_modules/mocha/lib/utils.js
um die Zeile 602 in der Funktion canonicalize
zu bearbeiten und ersetzen Sie:
von
%Vor%Führen Sie dann die Tests erneut aus. Diesmal sollte Mocha dir zeigen können, was schief gelaufen ist.
Ich habe gerade dieses Problem auch mit genau dem gleichen Stack gelöst.
Wenn Sie den shallowRenderer von TestUtils und die folgenden Beispieldokumente von Redux verwenden, werden Sie höchstwahrscheinlich darauf stoßen, wenn Sie versuchen, die Ausgabe zu protokollieren. Sortieren Sie die Ausgabe (JSON.stringify, etc), um das Problem zu lösen.
@Ricado Stuven's Antwort: Mocha hat diese Zeile auf value.toString () aktualisiert. Atleast für die neueste Version ab diesem Postdatum (v2.3.4).
Veröffentlichen Sie ein Beispiel Ihrer Testdatei, wo es fehlschlägt, wenn dies nicht der Fall ist. Prost.
Tags und Links javascript reactjs webpack mocha karma-mocha