问题标签 [proxyquire]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1311 浏览

node.js - nodejs - 未调用 sinon 存根

出于某种原因,我在使用我之前多次使用过的类似设置来正确运行这个简单的测试时遇到了一些麻烦。

也许一双新的眼睛可以帮助我理解为什么我的方法generateReport没有被调用并且我的方法没有被stubs预期的参数触发?

BYEGOOD没有记录,测试返回错误:AssertError: expected stub to be called with arguments

我的索引文件:

我的测试文件:

0 投票
1 回答
806 浏览

javascript - Proxyquire 不存根

我正在尝试使用 proxyquire 来存根 child_process 模块的 spawnSync 方法,但它不起作用。console.log(gitResponse)我的文件index.js中的 不返回存根字符串,而是未存根响应(在本例中为 git 帮助文本)。

有人可以看到我做错了什么吗?

/index.js

/test/indexTest.js

0 投票
1 回答
453 浏览

babeljs - Babel 插件模块别名实际使用的是什么路径?

我正在尝试将 Babel 的“module-alias”插件与“proxyquire”测试库一起使用,但我运气不佳。

图书馆背景故事

(如果您熟悉模块别名/代理查询,请随意跳过)

Proxyquire 让您模拟一个模块的依赖项以进行测试,如下所示:

Babel 的 module-alias 插件让你的导入路径更加方便和一致。例如,我可以指定(在 .babelrc 中):

然后不必键入(从嵌套三个目录深度的模块导入时)require('../../../someModule') I can just typerequire('~/someModule')`。

问题

我的问题是,它们不能一起工作。如果我有someModule这取决于someDependency

然后我想someModule用模拟版本进行测试someDependency,我应该能够做到:

...但proxyquire告诉我'错误:找不到模块'~/src/someModule'。

大概(“幕后”)Babel 正在将 '~/src/someModule' 转换为其真实路径,因此当 Proxyquire 查找别名路径时它找不到它。

问题

我的问题是:在 Babel 转换它之后(即当 proxyquire 处理它时),有什么方法可以找出 '~/src/someModule' 的真实路径是什么?或者,有什么方法可以让 proxyquire 只使用别名路径?

0 投票
1 回答
340 浏览

node.js - Proxyquire:无法存根 Cassandra 驱动程序

我正在尝试为单元测试用例模拟 Cassandra,我正在使用 npm Cassandra-driver 来连接/查询 cassandra。为了模拟存根,这是我的代码。

这就是我的 index.js 的样子

但这里不是创建模拟对象,而是从连接到实际数据库的 Cassandra-driver 创建对象。

0 投票
1 回答
2673 浏览

node.js - authenticateUser 的单元测试 - aws-cognito-identity-js - sinon/proxyquire

我是 node js 和一般测试的新手。我设法使用 sinon 来存根我的函数等,但现在我必须测试一个根据事件(onSuccess,onFailure)发送回调的函数。

这是我需要测试的代码。

这就是我到目前为止所做的。

这就是我得到的错误

看起来它正在进入 onSuccess 函数,然后它无法识别 getIdToken。但它在测试中走得太远了,不是吗?我只想存根/模拟 authenticateUser 并返回一个虚拟响应。

我怎样才能告诉 sinon 在 'onSuccess' 上给我回一个回调,而不涉及回调的细节?

谢谢你的帮助

0 投票
1 回答
186 浏览

reactjs - 使用 proxyquire 对 HOC 组件类型进行酶单元测试

我有一个返回取决于参数 HOC 组件的函数。我将此组件包装到 reduxForm HOC。我想使用 type() 用酶对其进行测试。该函数返回类型为 FormValues 的 HOC 组件,但如何在没有 HOC 的情况下返回进行测试。如何使用 proxyquire 对其进行测试

功能

测试

组件示例

0 投票
0 回答
203 浏览

javascript - 如何测试由nodejs中所需模块创建的对象的一部分的函数?

我有这个模块和proxyquire的相应测试。

如果在sqlQuery我想使用request对象的功能,测试将不会运行:

TypeError: request.query is not a function

我也尝试rewire设置require为存根:

如何测试是否request使用代码中的给定方法调用?

0 投票
1 回答
7611 浏览

node.js - 使用proxyquire和mocha在单元测试中模拟方法调用时如何模拟时间延迟(超时)?

使用 proxyquire 我正在模拟模块 B 的方法(在模块 A 中使用 require() 注入),在测试模块 A 中的方法时。模拟(模拟 admissionad.model.js 模块的 get_campaigns 方法):

考试:

问题是测试通过而没有预期的 5 秒延迟。

更新。

这是有效的:

这是我最后的好方法:

0 投票
1 回答
926 浏览

node.js - 如何使用 proxyquire 模拟模块功能

我需要模拟'mkdirp-promise'节点模块,它公开了一个构造函数,如下所示

我能够第一次使用 proxiquire 模拟它,如下所示:-

现在我想在第二个测试用例中覆盖 mkdirpPromiseMock

我不能。任何帮助表示赞赏。

0 投票
1 回答
975 浏览

javascript - 使用 Sinon 和 Proxyquire 存根 AWS SES

我正在尝试对一些涉及调用 AWS 的 SES 服务的代码进行单元测试。

这是有问题的代码:

这是一个测试,使用 Mocha 运行:

不知何故,尽管done()包含在回调then()catch()回调中,但测试每次都会超时。我非常希望这与我的存根设置有关,我想我已经为此扭转了很多次,以至于我完全失去了方向。

谁能把我推向正确的方向来解决这个问题?

谢谢