首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >覆盖实验室测试框架上的全局要求

覆盖实验室测试框架上的全局要求
EN

Stack Overflow用户
提问于 2017-03-02 09:44:09
回答 1查看 167关注 0票数 0

我正在使用hapi的lab+code测试框架。我需要覆盖全局要求函数。我使用的是嘲弄,但我也试图手动覆盖它,没有任何运气。似乎实验室在沙箱环境中执行所有代码,其中提供了一个特殊的需求函数,而不是全局函数。如何正确地覆盖实验室框架上的全局需求函数?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-09 10:21:48

我最后使用了丙氧奎尔,它提供了一种清晰和声明性的方式来模拟其他模块所需的模块,而不是创建或覆盖任何全局。基本上,您可以创建一个require函数,您可以使用它来代替普通的require函数来要求您想要测试的模块。然后,当该模块要求您声明为模拟的东西时,包装要求将提供模拟而不是原始包。它的优点是您可以定义部分模型,因此它将返回一个代理,该代理将模拟的方法作为模型,其余的方法将被转发到原始包。

下面是一个用法示例

代码语言:javascript
运行
复制
// Mockups
const ProxyQuire = require( 'proxyquire' );
const mockupPaths = {
    'mongodb': require( './__mocks__/mongo' ),
    'fs': {
        readFileSync( path ) {

            if ( path !== 'PATH/TO/CERTS' ) {
                return Fs.readFileSync( path );
            }
            return 'A VERY LONG STRING THAT LOOKS LIKE A CERTIFICATE!!';
        }
    }
};

// What we want to test

const Connect = ProxyQuire( '../src/db-connect.js', mockupPaths );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42551833

复制
相关文章

相似问题

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