【问题标题】:Running Jest with Apollo Server fails global.fetch undefined使用 Apollo Server 运行 Jest 失败 global.fetch undefined
【发布时间】:2020-01-02 21:53:18
【问题描述】:

我的团队正在完成更新项目的任务。我们已将 Jest 和 Apollo 更新到最新版本。遇到一个问题,我们正在使用 Apollo/GraphQL 进行集成测试并收到以下错误:

TypeError: Cannot read property 'bind' of undefined

  4 | 
  5 | import { createTestClient } from 'apollo-server-testing';
> 6 | import { ApolloServer } from "apollo-server-express";
    | ^
  7 | 
  8 | import schemaString from './../../schema/schema-string.mjs';
  9 | import resolvers from '../../../resolvers/query-resolvers.mjs';

  at Object.<anonymous> (node_modules/apollo-server-env/src/index.browser.js:6:15)
  at Object.<anonymous> (node_modules/apollo-server-core/src/index.ts:1:1)
  at Object.<anonymous> (node_modules/apollo-server-express/src/index.ts:1:1)

深入研究,似乎没有设置全局属性上的 Apollo polyfils。不确定如何解决这个问题,目前还没有在网上找到任何东西。我们还更新了 Babel,但我认为它与此无关,除非它是一个编译问题。任何帮助表示赞赏。

【问题讨论】:

    标签: graphql jestjs apollo babel-jest


    【解决方案1】:

    Node 没有内置的全局 fetch 方法。您需要自己填充它。有一些软件包可以帮助解决这个问题:https://www.npmjs.com/package/jest-fetch-mock

    【讨论】:

      猜你喜欢
      • 2021-01-18
      • 2020-05-05
      • 1970-01-01
      • 2021-11-02
      • 2023-02-03
      • 2019-01-27
      • 2019-04-05
      • 1970-01-01
      • 2021-03-09
      相关资源
      最近更新 更多