javascript - Jest 类型错误 : fetch is not a function

标签 javascript testing jestjs

我有以下 Jest 测试代码来测试 fetchendpoint:

import MovieApiService from 'services/MovieApiService';
import movies from '../constants/movies';

describe('MovieApiService', () => {

  test('if jest work correctly', () => {
    expect(true).toBe(true);
  });

  test('get an array of popular movies', () => {
    global.fetch = jest.mock('../mocks/movies');
    const movieApiService = new MovieApiService();
    return movieApiService.getPopularMovies()
      .then(data => expect(data).toBe(movies));
  });
});

但我得到:

Enter image description here

我知道 movieApiService.getPopularMovies() 是一个 JavaScript 获取请求,但是 Node.js 没有获取 API,那么我如何才能使用 Jest 进行此测试?

最佳答案

我无法使用您提供的代码对此进行测试,但安装并导入 npm 模块 jest-fetch-mock应该可以解决问题。

关于javascript - Jest 类型错误 : fetch is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49618484/

相关文章:

javascript - 从没有 express 的形式转换 body 数据

javascript - 在 javascript 脚本 block 中评估 Razor @Request.IsLocal

c++ - 测试对象是否被删除

python selenium 多个测试用例

javascript - 如何 Jest 测试与第三方 API 一起使用的自定义回调?

javascript - 使用 Jest 手动模拟 React-Intl 进行快照测试

javascript - 在我的网站中包含网站的一部分

javascript - JS获取一个字符串经过表达式替换几次

javascript - array.forEach 比 native 迭代运行得更快?如何?

javascript - Intl.NumberFormat 空格字符不匹配