问题标签 [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.
node.js - nodejs - 未调用 sinon 存根
出于某种原因,我在使用我之前多次使用过的类似设置来正确运行这个简单的测试时遇到了一些麻烦。
也许一双新的眼睛可以帮助我理解为什么我的方法generateReport
没有被调用并且我的方法没有被stubs
预期的参数触发?
BYE
也GOOD
没有记录,测试返回错误:AssertError: expected stub to be called with arguments
我的索引文件:
我的测试文件:
javascript - Proxyquire 不存根
我正在尝试使用 proxyquire 来存根 child_process 模块的 spawnSync 方法,但它不起作用。console.log(gitResponse)
我的文件index.js
中的 不返回存根字符串,而是未存根响应(在本例中为 git 帮助文本)。
有人可以看到我做错了什么吗?
/index.js
/test/indexTest.js
babeljs - Babel 插件模块别名实际使用的是什么路径?
我正在尝试将 Babel 的“module-alias”插件与“proxyquire”测试库一起使用,但我运气不佳。
图书馆背景故事
(如果您熟悉模块别名/代理查询,请随意跳过)
Proxyquire 让您模拟一个模块的依赖项以进行测试,如下所示:
Babel 的 module-alias 插件让你的导入路径更加方便和一致。例如,我可以指定(在 .babelrc 中):
然后不必键入(从嵌套三个目录深度的模块导入时)require('../../../someModule') I can just type
require('~/someModule')`。
问题
我的问题是,它们不能一起工作。如果我有someModule
这取决于someDependency
:
然后我想someModule
用模拟版本进行测试someDependency
,我应该能够做到:
...但proxyquire
告诉我'错误:找不到模块'~/src/someModule'。
大概(“幕后”)Babel 正在将 '~/src/someModule' 转换为其真实路径,因此当 Proxyquire 查找别名路径时它找不到它。
问题
我的问题是:在 Babel 转换它之后(即当 proxyquire 处理它时),有什么方法可以找出 '~/src/someModule' 的真实路径是什么?或者,有什么方法可以让 proxyquire 只使用别名路径?
node.js - Proxyquire:无法存根 Cassandra 驱动程序
我正在尝试为单元测试用例模拟 Cassandra,我正在使用 npm Cassandra-driver 来连接/查询 cassandra。为了模拟存根,这是我的代码。
这就是我的 index.js 的样子
但这里不是创建模拟对象,而是从连接到实际数据库的 Cassandra-driver 创建对象。
node.js - authenticateUser 的单元测试 - aws-cognito-identity-js - sinon/proxyquire
我是 node js 和一般测试的新手。我设法使用 sinon 来存根我的函数等,但现在我必须测试一个根据事件(onSuccess,onFailure)发送回调的函数。
这是我需要测试的代码。
这就是我到目前为止所做的。
这就是我得到的错误
看起来它正在进入 onSuccess 函数,然后它无法识别 getIdToken。但它在测试中走得太远了,不是吗?我只想存根/模拟 authenticateUser 并返回一个虚拟响应。
我怎样才能告诉 sinon 在 'onSuccess' 上给我回一个回调,而不涉及回调的细节?
谢谢你的帮助
reactjs - 使用 proxyquire 对 HOC 组件类型进行酶单元测试
我有一个返回取决于参数 HOC 组件的函数。我将此组件包装到 reduxForm HOC。我想使用 type() 用酶对其进行测试。该函数返回类型为 FormValues 的 HOC 组件,但如何在没有 HOC 的情况下返回进行测试。如何使用 proxyquire 对其进行测试
功能
测试
组件示例
javascript - 如何测试由nodejs中所需模块创建的对象的一部分的函数?
我有这个模块和proxyquire的相应测试。
如果在sqlQuery
我想使用request
对象的功能,测试将不会运行:
TypeError: request.query is not a function
我也尝试rewire
设置require
为存根:
如何测试是否request
使用代码中的给定方法调用?
node.js - 使用proxyquire和mocha在单元测试中模拟方法调用时如何模拟时间延迟(超时)?
使用 proxyquire 我正在模拟模块 B 的方法(在模块 A 中使用 require() 注入),在测试模块 A 中的方法时。模拟(模拟 admissionad.model.js 模块的 get_campaigns 方法):
考试:
问题是测试通过而没有预期的 5 秒延迟。
更新。
这是有效的:
这是我最后的好方法:
node.js - 如何使用 proxyquire 模拟模块功能
我需要模拟'mkdirp-promise'节点模块,它公开了一个构造函数,如下所示
我能够第一次使用 proxiquire 模拟它,如下所示:-
现在我想在第二个测试用例中覆盖 mkdirpPromiseMock
我不能。任何帮助表示赞赏。
javascript - 使用 Sinon 和 Proxyquire 存根 AWS SES
我正在尝试对一些涉及调用 AWS 的 SES 服务的代码进行单元测试。
这是有问题的代码:
这是一个测试,使用 Mocha 运行:
不知何故,尽管done()
包含在回调then()
和catch()
回调中,但测试每次都会超时。我非常希望这与我的存根设置有关,我想我已经为此扭转了很多次,以至于我完全失去了方向。
谁能把我推向正确的方向来解决这个问题?
谢谢