gpt4 book ai didi

javascript - 如何获得 nock 的响应

转载 作者:行者123 更新时间:2023-12-03 04:43:16 24 4
gpt4 key购买 nike

我一直在编写一些单元测试,我注意到我似乎找不到测试异步函数的好方法。所以我找到了诺克。看起来很酷,只要它有效。我显然错过了一些东西......

import nock from 'nock';
import request from 'request';

const profile = {
name: 'John',
age: 25
};

const scope = nock('https://mydomainname.local')
.post('/api/send-profile', profile)
.reply(200, {status:200});

request('https://mydomainname.local/api/send-profile').on('response', function(request) {
console.log(typeof request.statusCode); // this never hits
expect(request.statusCode).to.equal.(200);
});

request 永远不会发生,那么如何测试 nock 是否实际返回 {status:200} ?我还尝试过 fetch 和常规 http 调用。这让我觉得这与我的诺克代码有关?提前感谢您的帮助!

最佳答案

Nock 不会返回 {status:200},因为它正在拦截 POST 请求,但 request 语句正在发送 GET 请求。

您似乎想拦截指定配置文件POST请求?代码是:

var nock = require('nock');
var request = require('request');

const profile = {
name: 'John',
age: 25
};

const scope = nock('https://mydomainname.local')
.post('/api/send-profile', profile)
.reply(200, {status:200});

request.post('https://mydomainname.local/api/send-profile', {json: {name: 'John', age: 25}}).on('response', function(request) {
console.log(request.statusCode); // 200
});

关于javascript - 如何获得 nock 的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42987580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com