javascript - 收到:[SyntaxError: Unexpected token < in JSON at position 0]
问题描述
我正在尝试为通过 fetch api 进行 ajax 调用的服务编写测试。服务如下所示。
export function authService(user, apiEndpoint) {
return fetch(`http://localhost:3000/api/v1/${apiEndpoint}`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: user,
})
.then(response => {
return response.json();
})
.then(json => {
return json;
})
.catch(error => {
return error;
});
};
我的测试看起来像这样。
it('should success upon fetch request', async () => {
await expect(authService()).resolves.toBe(JSON.stringify({
success: true,
message: 'Logged in successfully.',
}));
});
但它显示了我的以下错误。
Expected: "{\"success\":true,\"message\":\"Logged in successfully.\"}"
Received: [SyntaxError: Unexpected token < in JSON at position 0]
88 |
89 | it('should success upon fetch request', async () => {
> 90 | await expect(authService()).resolves.toBe(JSON.stringify({
| ^
91 | success: true,
92 | message: 'Logged in successfully.',
93 | }));
似乎它没有返回我期望的 json 对象。我该如何解决这个问题?
解决方案
推荐阅读
- reactjs - 如何使用 react 和 typescript 重构三元运算符代码?
- python - 为什么我的代码每次都给出不同的结果?
- firebase - 达到 limit() 后 QuerySnapshot 删除数据
- ssh - 尝试 ssh 进入 Google Cloud Platform VM 时出现错误的公钥
- javascript - 二维数组数据被覆盖?
- extjs - 如何防止 ExtJS 网格单元格中的文本选择触发 onclick 事件处理程序并因此选择网格行(取消)
- android - 如何持续检查 Firebase 数据库中是否有变化?
- node.js - 节点js中的小数和
- angular - Angular8+ ngswitch 嵌套组件不更新视图
- asp.net-mvc - 为什么数据没有传输到控制器?