首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Proxyquire和函数导入

Proxyquire和函数导入
EN

Stack Overflow用户
提问于 2016-09-05 13:11:43
回答 1查看 831关注 0票数 0

我试图使用proxyquire来模拟一个快速行为,并且我在处理以下命令时遇到了一些困难:

代码语言:javascript
复制
expressProxy = () => {
      return {
        use: () => true,
        post: () => true,
        listen: () => true
      }
    }

Application = proxyquire('./../app', {
      'express': expressProxy,
      'passport': passportProxy,
      './app/business/service/StrategyFactory': StrategyFactoryProxy
    })

当我使用以下代码启动应用程序时:

代码语言:javascript
复制
Application.main()

我总是有充分的明确的行为,因为它应该正常工作。

我拥有完整和完整的表达式对象,就好像它还没有被重新定义一样.

我有点迷路了,我不明白这是怎么回事。

有什么信息可以帮我理解吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-05 14:32:39

默认情况下,proxyquire将所有方法调用传递到原始依赖项。如果要对特定存根禁用它,可以使用“@noCallThru”关闭它:

代码语言:javascript
复制
var foo = proxyquire('./foo', {
  path: {
      extname: function (file) { ... }
    , '@noCallThru': true
  }
});

如果要对所有存根关闭它,则为.noCallThru()

代码语言:javascript
复制
// all stubs resolved by proxyquireStrict will not call through by default
var proxyquireStrict = require('proxyquire').noCallThru();

有关详细解释,请参阅https://github.com/thlorenz/proxyquire#preventing-call-thru-to-original-dependency

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39331365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档