テストしようとしているコードは、RequireJs loader pluginsに依存しています。requirejs/textを使用した例:
require(['text!templates/foo'], function (data) {
// handle loaded data
});
text!templates/foo
特定の単体テストでは、応答をモックし、テストに関連するものでオーバーライドしようとしています:
it('should load a template', function (done) {
// TODO: mock 'text!templates/foo' here to return 'mock_data'
// templateViewer uses the text plugin internally to do the actual loading
templateViewer.templateFor('foo', function (error, templateData) {
expect(templateData).toEqual('mock_data');
done();
});
});
私は RequireJs の依存関係のモックソリューション、特にSquire.jsを見てきましたが、それらはすべてプラグインの応答ではなく、通常の依存関係のモックに適しているようです。
また、実際の呼び出しを置き換えるためにsinonなどのスタブ ライブラリも調べましたが、問題があるようです。require
おすすめの練習法は?text
私のrequirejs構成でプラグイン全体をモックのものに置き換えるのではなく、特定のテストでその応答の一部をオーバーライドするだけです。
私のセットアップは node+mocha+requirejs です
編集
Squire に関する私の問題を確認するには、この例のフィドル プロジェクトを参照してください。
http://runnable.com/VUBoI0ex6v9Gs-BJ/squirejs-with-plugins-for-node-js-and-hello-world