Ich habe meine React-App mit ES6 geschrieben. Jetzt möchte ich meine Tests auch mit ES6 schreiben. Die Herausforderung besteht also darin, Karma zu konfigurieren.
Zusammen mit Google kam ich so weit mit karma.config.js (ich habe Teile der Konfigurationsdatei weggelassen, die identisch sind!):
%Vor% Was ich meiner Meinung nach tun sollte: 1) kompiliere JSX nach JS und nächstes babel
sollte ES6 in ES5 umwandeln. Dies zusammen mit dem polyfill
Ich erwartete, dass es zum Beispiel in phantomjs laufen sollte. Aber nein, hier ist die Ausgabe von Karma, wenn ich es ausführe:
Zeile 35 von app.jsx
enthält den tatsächlichen JSX-Teil. Aus irgendeinem Grund scheinen die Präprozessoren nicht so viel zu tun. Irgendwelche Hilfe mit den Präprozessoren würden geschätzt?
UPDATE: Ich habe diesen fast funktionierenden Nog. Stellt sich heraus, dass die Präprozessoren, die ich hatte, so ausgetauscht werden sollte
%Vor%Wenn ich das jetzt mache, bekomme ich:
%Vor%Ich dachte, ich hätte dafür eine Polyfill: (
@zemirico Antwort hat nicht für mich funktioniert und ist etwas veraltet.
Hier ist meine eigene Konfiguration, die Sie für karma.conf.js
verwenden können:
Es verwendet babelify
anstelle von reactify
und hat andere Abhängigkeiten. Daher wird auch .babelrc
im Projektstamm benötigt:
Für das Setup müssen außerdem die folgenden Abhängigkeiten in package.json
file enthalten sein:
Erstellen Sie eine neue React-Komponente in src/my-element.jsx
:
Testen Sie es als solches, indem Sie spec in tests/my-element-spec.js
:
Tags und Links javascript reactjs react-jsx babeljs karma-runner