首页 > 解决方案 > 使用 .json() 测试异常块

问题描述

我有以下函数来处理我的应用程序中的获取请求。我如何编写测试或rawResponse可能会被嘲笑以达到 catch 块?有没有办法强制.json()抛出异常?

export async function get(url) {
  let response;
  let rawResponse = {};

  try {
    rawResponse = await fetch(url);
    response = await rawResponse.json();
  } catch (err) {
    return err.toString();   // TEST THIS LINE
  }

  return response;
}

我使用 Jest 的 mockResponse 将响应模拟为字符串、数组等,使其进入 catch 块。

标签: javascriptjestjs

解决方案


在获取或响应之后抛出一个错误:

throw new Error('Message error');

推荐阅读