问题标签 [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.
javascript - 实例的存根方法
我有一个 Express 应用程序,当某些端点被击中时,它使用node-slack-sdk向 Slack 发布帖子。我正在尝试为一条路线编写集成测试,其中包括从该库调用一个方法。
我想阻止 Slack 库中某些方法的所有默认行为,并简单地断言这些方法是使用某些参数调用的。
我试图简化问题。如何chat
对 an 实例的方法(实际上嵌套在 中)进行存根WebClient
,阻止原始功能,并对调用它的参数进行断言?
我已经尝试了很多没有用的东西,所以我正在编辑它并在这里提供一个大大简化的设置:
index.html
:
index.test.html
与其他示例不同,有几件事使这变得困难。一,我们无法访问web
测试中的实例,所以我们不能直接存根方法。第二,该方法隐藏在chat
属性中web.chat.postMessage
,这也与我在 sinon、proxyquire 等文档中看到的其他示例不同。
mocking - How do I stub a module with Jest and Proxyquire?
I want to force node-fetch
to be a stub and I'm having a bit of trouble
getting it to work. Code:
setup.js
:
package.json
:
Result:
How can it be failing to load the module that I just loaded 2 lines previous? Is proxyquire
not the right module to use here?
I've gotten node-fetch
to be a mock in my test but when I run the function in the module (which has const fetch = require('node-fetch');
at the top) it's going to the real module instead of the fake. I've tried using fetch mocking libs like fetch-mock
to no avail.
javascript - Node.js - 内部带有模拟承诺的功能单元测试
我目前正在用 JavaScript 制作一个小型服务器,作为学习过程的一部分,我正在为这些函数编写单元测试。不幸的是,我在处理承诺的某个测试中遇到了重大困难。下面是路由器模块,带有单独的handlePUT函数,方便测试。
updateUserStatus 函数基本上在数据库中切换布尔值,看起来有点像这样:
至于单元测试,我使用 mocha/chai 和 proxyquire 来创建模拟 updateUserStatus。
每当我尝试运行单元测试时,都会收到错误消息Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.
。如果我尝试添加done()
它仍然会通过给出错误消息而失败Error: Resolution method is overspecified. Specify a callback *or* return a Promise; not both.
javascript - stub doesn't return the resolve data in proxyquire getting undefined
i am not able get the resolved value in the response the promise stub returns undefined
sendOtpStub
is called but the value that i get is undefined
i need to get the resolved value from the promise.its resolving to undefined
am using if am not using the stub its working as expected.
if i put sendOtp: otpHelper.sendOtp
its working as expected but when i make it as a stub its not returning the resolved value.
unit-testing - 对 Sequelize Model 的实例进行单元测试
我有以下代码:
现在,我想测试 person.increment() ,其中年龄将添加 15。我有以下代码来转义为模型创建新记录的条件。
我要怎么做?我该怎么做才能测试它?我可以将 sinon.fake() 用于 PersonModel.create 或 PersonModel.update,但我很难测试 Sequelize 模型的实例。
node.js - mock require of oracledb using proxyquire to unit test node.js app
Please help to fix the below issue:
I am trying to unit test the dbAdapter module using mocha.
dbAdapter to connect to oracle and execute sql commands (dbAdapter.js)
unit test to test the select query: (test.js)
In the above unit test I have used proxyquire so that I can use my mocked oracledbStub instead of oracledb in dbAdapter.js
When I run the unit test I get the below error:
I followed the below blog: http://www.devblogrbmz.com/nodejs-mocking-with-proxyquire/
I believe I might be missing some detail and have been stuck since a day.
node.js - 存根nodejs proxyquire返回错误:TypeError:无法读取未定义的属性'url'
我的单元测试用例失败,我收到一条错误消息
'TypeError:无法读取未定义的属性'url'。
具有 url 属性的配置文件似乎有问题。请有人帮助我。
node.js - 使用 proxyquire 模拟具有相同名称和不同参数的函数
我有一个格式如下的文件,它使用了某些模块。
我正在尝试使用 proxyquire 模拟这两个函数,如下所示
由于它包含两个具有相同名称的函数,因此我无法模拟这两个 post 函数,因为函数调用仅转到一个函数(第二个函数)。如何解决这个问题?有人知道吗?我对单元测试和代理查询相当陌生
javascript - node.js中非导出函数内http post请求的Sinon存根块
我有一个发布请求块,我需要在非导出函数中存根响应,如下所述:
我不想整体上存根并返回 callMicroserive 函数,但需要在函数内部存根 http post 请求。
我尝试使用 sinon 以及 rewire setter 和 getter 方法来实现。但我不能单独使用存根 http 请求块。谁能提供这个问题的代码模板?
代理查询
尝试使用 proxyquire,如下所述:
Sinon 使用Sinon,尝试了以下方法:
也试过
重新接线
使用所有单元包调用 request.post() 时出现错误“无效的 URI / ”。看起来它正在打击服务器以获得实际响应。