使用jest-fetch-mock我可以模拟类似的请求,
describe('testing jest-fetch-mock', () => {
it('fake endpoints', () => {
fetch.mockImplementation((url, request) => {
if (url === '/notfake' && request.method === 'post') {
return Promise.resolve(new Response(JSON.stringify({ data: 200 })))
} else {
return Promise.resolve(new Response(JSON.stringify({ data: 300 })))
}
})
fetch("/notfake", { method: 'post' })
.then(fake => fake.json())
.then((fake) => {
expect(fake.data).toEqual(200);
});
fetch("/notfake", { method: 'get' })
.then(fake => fake.json())
.then((fake) => {
expect(fake.data).toEqual(300);
});
})
})
我想在开发人员模式下启动我的React应用程序,但是在启动时应用所有这些端点模拟,这样我就可以将前端开发与后端分离,并从后端获得期望的模拟响应。
我该如何有效地做到这一点?