2015-10-12 16 views
5

私は、ecmacript 6コードをテストするためのmocha、babel、およびnodeを持つテストセットアップを持っています。インポートされたモジュールをecmascript 6でモックできますか?

誰かが、テスト中のモジュールでインポートを模倣する方法について提案はありますか?

+1

これは実際にはES6とは関係ありませんが、使用しているモジュールローダーがあります。 jest auto-mocks依存関係:http://facebook.github.io/jest/ –

+0

@FelixKlingそれはES6と関係があります。 CommonJSはプロキシクワイアを使って模擬するのは簡単ですが、ES6のインポートで解決するのはもっと複雑です。私はいくつかの解決策を知っていますが、まだ優れたものを探しています。この質問をもう一度開いて、他のソリューションがどのような解決策を見ているかを確認したいと思います。あなたが言及した冗談は一つの解決策ですが、それは誰にとっても完璧な解決策ではないかもしれません。そして、それはMochaで解決する方法には答えませんでした。 – gregers

+0

@FelixKling +1再開。この質問はnodejsの質問ではなく、むしろES6の質問です。 'require'と' import'は非常に異なった働きをします。 – atoth

答えて

1

ES2015でのインポートとエクスポートは、言語そのものの一部であり、静的に分析できるように設計されています。したがって、それらは実行時に操作することはできません。そのため、動的なモックが不可能になります。

軽量依存性注入フレームワーク、または動的モジュールリゾルバのいくつかの形式を実装することをお勧めします。

SystemJSは、ユニバーサルモジュールローダーとしてお選びいただけます。

希望に役立ちます!

関連する問題