Jest を使用して、CoffeeScript + React jsx で記述された React コンポーネントをテストするにはどうすればよいですか?
Jest で提供される唯一の CoffeeScript の例はプレーンな CoffeeScript を使用しており、CoffeeScript + React JSX では機能しません (a に達すると構文エラーになります<
)。
私が試したこと
最初の試行: execSync
// preprocessor.js
var execSync = require('exec-sync');
module.exports = {
process: function (src, path) {
return execSync('browserify -t coffee-reactify ' + path);
}
};
これは機能しますが、時間がかかりすぎます (ダミー テストでは 12 秒が適切です)。
それから私は試しました:
2 回目の試行: coffee-react-transform
// 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;
}
};
これにより、次のような奇妙なエラーがスローされます。
TypeError: function() {...} にはメソッド「getPooled」がありません
「メソッド 'getPooled' がありません」に対する唯一の Google の結果は、この gistです。これは、私が取得したエラーを正確に示していますが、他の洞察は提供していません。
3 回目の試み
私はcoffee-reactifyを使用できると思いますが、非同期のストリームを返しますが、process
関数preprocess.js
は同期的に使用され、これまでのところ、ストリームを同期的に読み取る方法は見つかりませんでした。
私に何ができる?