首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用fetch-mock using headers模拟获取请求

使用fetch-mock using headers模拟获取请求
EN

Stack Overflow用户
提问于 2017-04-06 22:09:39
回答 1查看 8.3K关注 0票数 8

我尝试使用fetch-mock和jest模拟fetch调用。我的fetch调用是一个带有请求主体和两个头的POST请求。

我的代码如下所示:

代码语言:javascript
复制
let payload = JSON.stringify({"some" : "value"});
let headers = new Headers({"Accept": "application/json", "Content-Type":  "application/json"});
let options = {method: "POST", body: payload, headers: headers};

 fetch('http://someUrl', options)
    .then(response => response.json())
    .then(data => {this.data = data})
    .catch(e => {console.log("exception", e)});

我在测试中尝试了以下几种方法:

代码语言:javascript
复制
let fetchMock = require('fetch-mock');

let response = {
    status: 200,
    body: {data : "1234"}
};

let payload = JSON.stringify({"some" : "value"});
let headers = new Headers({"Accept": "application/json", "Content-Type":  "application/json"});
let options = {"method": "POST", "body": payload, "headers": headers};

fetchMock.mock('http://someUrl', response, options);

但是它给了我这个错误:

代码语言:javascript
复制
Unmatched POST to http://someUrl

感谢任何帮助/提示!

EN

回答 1

Stack Overflow用户

发布于 2017-12-14 14:53:17

我通过不使用new Headers解决了这个问题。

代码语言:javascript
复制
let payload = JSON.stringify({"some" : "value"});
let headers = {"Accept": "application/json", "Content-Type":  
"application/json"};
let options = {method: "POST", body: payload, headers: headers};

fetch('http://someUrl', options)
   .then(response => response.json())
   .then(data => {this.data = data})
   .catch(e => {console.log("exception", e)});



let headers = {"Accept": "application/json", "Content-Type":  
"application/json"};
let options = {method: "POST", headers: headers, body: payload};

fetchMock.mock('http://someUrl', response, options);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43257671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档