【问题标题】:Pulling in sinon submodules in browser with AMD and webpack使用 AMD 和 webpack 在浏览器中拉入 sinon 子模块
【发布时间】:2014-08-15 20:17:51
【问题描述】:

我遇到了this question 中描述的相同问题。基本上,如果您使用 node,sinon 只会拉入所有必需的子模块。如果您尝试在带有 AMD 的浏览器中使用它(我正在使用 webpack),显然您必须手动包含 lib/spy.js。

我有一个当前导出 sinon 的 webpack 模块:

exports.sinon = require('sinon');

我将如何修改它以加入spy.js?

我认为这更像是一个 CommonJS 语法问题。

【问题讨论】:

    标签: javascript amd sinon webpack


    【解决方案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 中的行为。如果有人有更好/更清洁的解决方案,请发布它,我会接受。现在我看着它,我想知道为什么会有

    【讨论】:

    • 您能否举例说明如何使用spy 函数?我正在使用带有 mocha 的酶作为测试套件
    猜你喜欢
    • 2017-03-05
    • 2017-04-24
    • 2018-07-07
    • 2019-05-12
    • 1970-01-01
    • 2019-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多