Babel / Karma / Chai gibt TypeError: Auf die Eigenschaften 'caller', 'callee' und 'arguments' darf in Strict-Mode-Funktionen nicht zugegriffen werden

8

Ich habe Probleme herauszufinden, warum dieser Test nicht besteht.

%Vor%

erzeugt diesen Fehler:

%Vor%

Es könnte etwas damit zu tun haben, dass Babel Dinge im strikten Modus verpackt?

Weiß jemand, welche Schritte ich beginnen kann, um herauszufinden, was hier abgeht?

Der Code ist Open Source und hier verfügbar: Ссылка

installieren und reproduzieren diesen Fehler:

%Vor%     
Ivan 17.03.2015, 17:35
quelle

3 Antworten

9

Ich benutze Babel und ES6 Module. ES6-Code ist implizit strikter Modus. Chais Assertion-Library ist nicht kompatibel mit dem strikten Modus, wie er oben eingerichtet wurde.

Die Lösung besteht darin, node_modules im webpack babel loader zu ignorieren / nicht:

Dies ist der relevante Abschnitt meiner karma.conf.js:

%Vor%

Der Ausschluss ist ein Regex-Test anstelle einer einfachen Zeichenfolge.

    
Ivan 18.03.2015, 18:49
quelle
0

Ich habe ungefähr einen Tag damit zu kämpfen gehabt und dann festgestellt, dass du Chai nicht importieren musst. Es ist bereits verfügbar wie Jasmin describe .

Entfernen Sie einfach die Zeile var expect = require('chai').expect; , damit Sie die unten stehende Spezifikation / den Test erhalten.

%Vor%

Ich habe mir so viele verschiedene Beispiele von Webpack 2 + Karma + Chai angeschaut, dass ich die Tatsache übersehen habe, dass ich sie nicht importieren musste

    
findlayc 24.02.2017 13:04
quelle
0

Die Installation von chai hat das Problem für mich richtig gelöst:

%Vor%

Um chai out mit http Anfragen auszuprobieren, habe ich nur chai-http installiert. Und nicht chai selbst. Aber sie benutzten beide:

%Vor%

Ich habe also versucht, chai explizit zu installieren und anscheinend hat es das Problem gelöst. Ich kann expect verwenden und der Fehler wird nicht mehr geworfen.

    
Green 21.06.2017 03:46
quelle