我正在尝试使用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();
}
Run Code Online (Sandbox Code Playgroud)
测试:
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);
Run Code Online (Sandbox Code Playgroud)
当我运行测试时,我收到错误:
console.error node_modules/jsdom/lib/jsdom/virtual-console.js:29错误:交叉原点null禁止
TypeError:网络请求失败
任何想法为什么虚拟控制台抛出这个,因为这只是服务.
Mar*_*ski 14
我找到了一个与CORS相关的问题解决方案.Nock mock应该是:
fetchNockProject = nock($API)
.defaultReplyHeaders({ 'access-control-allow-origin': '*' })
.get('/projects/1')
.reply('200', project);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4143 次 |
| 最近记录: |