首页 > 解决方案 > airtable:TypeError:无法读取在 JEST 中运行的未定义的属性“绑定”

问题描述

运行我的 jests 测试时遇到问题,在导入 Airtable 时会出错

TypeError: Cannot read property 'bind' of undefined

    > 1 | import AirtableAPI from 'airtable'
        | ^
     

      at Object.<anonymous> (node_modules/airtable/src/fetch.ts:5:80)
      at Object.<anonymous> (node_modules/airtable/src/base.ts:5:1)
      at Object.<anonymous> (node_modules/airtable/src/airtable.ts:1:1)

标签: javascripttypescriptjestjsairtable

解决方案


错误是 fetch 未在窗口上定义。当我为测试导入 fetch 时,我是在 setupFilesAfterEnv 中这样做的,所以我添加到 jest.config `setupFiles: ['./jestSetup.js'],

在那个 jestSetup.js

const fetch = require("node-fetch")

global.fetch = window.fetch = fetch;
global.Request = window.Request = fetch.Request;
global.Response = window.Response = fetch.Response;

推荐阅读