我遇到了这个问题中描述的相同问题。基本上,如果您使用 node,sinon 只会拉入所有必需的子模块。如果您尝试在带有 AMD 的浏览器中使用它(我正在使用 webpack),显然您必须手动包含lib/spy.js
.
我有一个当前导出 sinon 的 webpack 模块:
exports.sinon = require('sinon');
我将如何修改它以滚动spy.js
?
我认为这更像是一个 CommonJS 语法问题。
我遇到了这个问题中描述的相同问题。基本上,如果您使用 node,sinon 只会拉入所有必需的子模块。如果您尝试在带有 AMD 的浏览器中使用它(我正在使用 webpack),显然您必须手动包含lib/spy.js
.
我有一个当前导出 sinon 的 webpack 模块:
exports.sinon = require('sinon');
我将如何修改它以滚动spy.js
?
我认为这更像是一个 CommonJS 语法问题。
以下似乎有效:
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 中的行为。如果有人有更好/更清洁的解决方案,请发布它,我会接受。现在我看着它,我想知道为什么会有