2

この質問で説明されているのと同じ問題に直面しています。ノードを使用している場合、基本的にsinonは必要なすべてのサブモジュールのみを取り込みます。AMD(私はwebpackを使用しています)を搭載したブラウザで使用しようとすると、明らかに手動で含める必要がありますlib/spy.js

現在、sinon をエクスポートする webpack モジュールがあります。

exports.sinon = require('sinon');

ロールインするように変更するにはどうすればよいspy.jsですか?

これは何よりも CommonJS 構文の問題だと思います。

4

1 に答える 1

1

以下はうまくいくようです:

exports.sinon = require("sinon");
exports.sinon.spy = require("sinon/lib/sinon/spy");
exports.sinon.spyCall = require("sinon/lib/sinon/call");
exports.sinon.behavior = require("sinon/lib/sinon/behavior");
exports.sinon.stub = require("sinon/lib/sinon/stub");
exports.sinon.mock = require("sinon/lib/sinon/mock");
exports.sinon.collection = require("sinon/lib/sinon/collection");
exports.sinon.assert = require("sinon/lib/sinon/assert");
exports.sinon.sandbox = require("sinon/lib/sinon/sandbox");
exports.sinon.test = require("sinon/lib/sinon/test");
exports.sinon.testCase = require("sinon/lib/sinon/test_case");
exports.sinon.match = require("sinon/lib/sinon/match");

これは基本的に sinon.js の動作を模倣しています。誰かがより良い/よりクリーンなソリューションを持っている場合は、投稿してください。受け入れます。そして今見てみると、なぜそこにあるのだろうか

于 2014-08-15T22:11:59.973 に答える