我有一些测试用于fetch-mock
模拟带有正文中参数的发布请求。
我可以模拟请求,但我找不到根据请求正文返回响应的方法。
可以说我有一个发布请求:
const body = {flag : true} // can be either true or false
const configInit: RequestInit = {
method: "POST",
credentials: "include",
body: JSON.stringify(body)
};
fetch(REQUEST_URL, configInit)
目前我的模拟看起来像这样:
//.. some definithion of responseA and responseB
fetchMock.post(
REQUEST_URL,
(url, opts) => opts && opts.body && opts.body.flag ? responseA : responseB ,
{ overwriteRoutes: true }
);
但它说 opts.body 是一个“BodyInit”对象并且没有属性“标志”。
我找到了文档,但我在任何地方都找不到正确的方法。如何从请求中获取参数到我的模拟响应?这种方式是最佳做法吗?也许我应该使用 a 分隔请求FunctionMatcher
(这对我也不起作用)?