Karma + Mocha + Reagieren Konvertieren eines Symbolwerts in eine Zeichenfolge nicht möglich

8

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%     
pratyush jha 08.01.2016, 12:13
quelle

3 Antworten

5

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:

%Vor%

von

%Vor%

Führen Sie dann die Tests erneut aus. Diesmal sollte Mocha dir zeigen können, was schief gelaufen ist.

    
Ricardo Stuven 03.02.2016, 22:45
quelle
5

Stelle sicher, dass du nicht console.log das Ergebnis von getRenderOutput versuchst. Das war das Problem in meinem Fall.

    
Manu 06.06.2016 12:46
quelle
3

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.

    
Cory Z A 15.02.2016 22:59
quelle