Ich habe ein Problem mit Mocha, Expect und Enzyme. Zuerst übersetze ich meine Webpack-Konfigurationsdatei über Babel. Unten ist ein angehängter Screenshot des Fehlers, den ich bekomme und die Testdateien sind gültig. Hat jemand das ähnliche Problem?Mocha läuft nicht Einheit Tests durch Webpack 2
Antwort
Sie zeigen mir Ihre webpack Config, nicht Ihre babel Config. Aber basierend auf dem, was ich sehe, nehme ich an, dass Sie babel-preset-es2015-webpack
verwenden, was die Umwandlung ausschließt, um ES6-Module zu transpilieren (babel-plugin-transform-es2015-modules-commonjs
). Sie sollten das für Ihre Tests einschließen. Sie können dies auf dieselbe Weise tun, wie ich Ihnen zeige, wie Sie das babel-plugin-__coverage__
Plugin in this lesson einfügen können. Überprüfen Sie auch cross-env, um BABEL_ENV
zu testen.
Sie verwenden auch babel-core/register
, die veraltet sein wird. Sie möchten stattdessen das Paket babel-register
verwenden.
So wird Ihr Skript wahrscheinlich wie folgt aussehen:
"test": "cross-env BABEL_ENV=test mocha --harmony --compilers js:babel-register --recursive src/__tests__"
Ich habe Babel-Register auch verwendet, um zu überprüfen, kein Glück. Außerdem gab der Befehl, den du gabst, den gleichen Fehler :( –
Hast du deine '.babelrc' aktualisiert, wie ich es erklärt habe? – kentcdodds
yep <3 Danke für das Update Kent <3 <3 Bekomme jetzt nützliche Fehler! –
Was wie Ihre babel Konfiguration aus? Stellen Sie sicher, dass Sie die Transformation zum Verarbeiten von Importanweisungen einschließen. Normalerweise würden Sie dies mit dem Plugin "babel-preset-es2015" tun. – kentcdodds
haben Sie auch Ihre .test-Dateien transpiliert. Der Fehler besagt eindeutig, dass Mocha das Schlüsselwort "import", dh die ES 2015-Syntax, nicht auflösen kann. Ich denke, du musst deine .test-Dateien in 'ES5' umwandeln und dann mocha gegen ES5-Dateien laufen lassen. – Venky
probiere 'var expect = require ('expect');' – Venky