Webpack&测试:帮助从require缓存中删除/替换模块

时间:2016-03-03 09:10:52

标签: javascript node.js testing webpack

对于我们的测试,我们需要能够替换或删除require缓存中的模块,例如用虚假的实现替换它们。

为了实现这一点,我们实现了一个小帮助函数:

fakeModule = function(modulePath, fakeExportsObject){
    require.cache[require.resolve(modulePath)] = {exports: fakeExportsObject}
}

然而,当我们通过webpack运行时,我们收到以下严重警告:“依赖项的请求是表达式”,项目中的所有 JavaScript文件都包含在webpack构建中。

是否有可能禁用辅助函数的解释?在我们的测试中,我们可以安全地假设我们只是从require缓存中删除/替换现有模块。即使不是,也不重要。

1 个答案:

答案 0 :(得分:0)

您是否看过rewirerewire-webpack?我刚开始研究使用webpack进行测试,并且还需要找到一种方法来实现这一目标。 Rewire看起来很有希望,但我还没有使用它。