gpt4 book ai didi

jestjs - 使用 JEST 和 nock 进行测试导致 'Cross origin null forbidden'

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

我正在尝试使用 JEST 测试我的服务并使用 nock 模拟端点。服务看起来像这样

export async function get(id) {
const params = {
mode: 'cors',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
}
};

let response = await fetch(`{$API}/projects/${id}`, params);

return response.json();
}

测试:

import { 
get
} from './project';
import nock from 'nock';
const fetchNockProject = nock($API)
.get('/projects/1')
.reply('200', {});

const data = await get(1);

expect(data).resolves.toEqual(project);

当我运行测试时出现错误:

console.error node_modules/jsdom/lib/jsdom/virtual-console.js:29 错误:禁止跨源 null

类型错误:网络请求失败

知道为什么虚拟控制台会抛出这个问题,因为这只是服务。

最佳答案

我找到了与 CORS 有关的问题的解决方案。诺克模拟应该是:

fetchNockProject = nock($API)
.defaultReplyHeaders({
'access-control-allow-origin': '*',
'access-control-allow-credentials': 'true'
})
.get('/projects/1')
.reply('200', project);

关于jestjs - 使用 JEST 和 nock 进行测试导致 'Cross origin null forbidden',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49386410/

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