Mur*_*rch 6 mocking node.js nock.js
我试图在检查传递的请求正文是否符合我的假设的同时,尝试触发路由调用。该路由被多次调用以测试三个继承实现。param3除了请求正文中的单个值(如下)的值不同之外,调用是相同的。
nock('someAddress')
.post('/path', {
param1: [someArray],
param2: someInteger,
param3: /[0-9]+/ /* param3 has varying positive integer values */
})
.reply(200, { responseObject });
Run Code Online (Sandbox Code Playgroud)
如果我输入 的准确值param3,我可以获得测试的第一次迭代成功。显然,我还可以通过根本不指定请求正文来使测试正常工作。但是,如果我忽略param3或尝试指定各种通配符参数(例如示例中的正则表达式),我总是会收到以下错误消息:
[route] 404 error: Nock: No match for request POST [someAddress/path] {"param1":[someArray],"param2":someInteger,"param3":exactValueOfThisCall}
Run Code Online (Sandbox Code Playgroud)
如何在 nock 拦截中检查我的请求正文,但允许单个参数具有各种整数值?
小智 3
您可以在检查正文时添加分配,并稍后检查分配的参数:
let attr;
nock("https://url.com").put(`/path`, body => {
attr = body;
return true;
}).reply(200);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3662 次 |
| 最近记录: |