Jest mit coffeescript jsx?
Wie kann ich Jest verwenden, um in CoffeeScript + React jsx geschriebene React-Komponenten zu testen?
Das einzige mit Jest gelieferte CoffeeScript-Beispiel verwendet einfaches CoffeeScript und funktioniert nicht mit CoffeeScript + React JSX (Syntaxfehler bei Erreichen eines<
).
// preprocessor.js
var execSync = require('exec-sync');
module.exports = {
process: function (src, path) {
return execSync('browserify -t coffee-reactify ' + path);
}
};
Dies funktioniert, dauert aber zu lange (gute 12 Sekunden für einen Dummy-Test).
Dann habe ich versucht:
Zweiter Versuch: Kaffee-Reaktion-Transformation// preprocessor.js
var coffee = require('coffee-script');
var transform = require('coffee-react-transform');
module.exports = {
process: function(src, path) {
if (path.match(/\.coffee$/)) {
return coffee.compile(transform(src), {'bare': true});
}
return src;
}
};
Dies löst einen seltsamen Fehler aus, wie:
TypeError: function () {...} hat keine Methode 'getPooled'
Das einzige Google-Ergebnis für "hat keine Methode" getPooled "" istdieser Kern, das zeigt genau den Fehler, den ich erhalte, bietet aber keine anderen Einblicke.
ritter möglicher VersuIch denke, ich könnte @ verwend kaffee-reaktivieren, aber es wird ein asynchroner Stream zurückgegeben, während dasprocess
Funktion inpreprocess.js
wird synchron verwendet und hat bisher keine Möglichkeit gefunden, einen Stream synchron zu lesen.
Was kann ich tun