【问题标题】:jsdom with CRA throwing TypeError _ownerDocument null带有 CRA 的 jsdom 抛出 TypeError _ownerDocument null
【发布时间】:2022-08-15 03:47:19
【问题描述】:

我有一个运行良好的 craco 项目,但是在使用 jest 运行测试时会引发以下错误。我什至没有安装jsdom,它似乎是craco的对等依赖?不知道如何解决这个问题,但可以澄清 cmets 中的任何问题,因为我不知道是什么原因造成的。

/Users/munsterberg/code/creatordao/creatordao-portal/node_modules/jsdom/lib/jsdom/living/xhr/XMLHttpRequest-impl.js:111
      referrer: _ownerDocument.URL,
                               ^

TypeError: Cannot read properties of null (reading \'URL\')
    at new XMLHttpRequestImpl (/Users/munsterberg/code/creatordao/creatordao-portal/node_modules/jsdom/lib/jsdom/living/xhr/XMLHttpRequest-impl.js:111:32)
    at Object.exports.setup (/Users/munsterberg/code/creatordao/creatordao-portal/node_modules/jsdom/lib/jsdom/living/generated/XMLHttpRequest.js:62:12)
    at new XMLHttpRequest (/Users/munsterberg/code/creatordao/creatordao-portal/node_modules/jsdom/lib/jsdom/living/generated/XMLHttpRequest.js:101:22)
    at /Users/munsterberg/code/creatordao/creatordao-portal/node_modules/whatwg-fetch/dist/fetch.umd.js:514:17
    at new Promise (<anonymous>)
    at fetch (/Users/munsterberg/code/creatordao/creatordao-portal/node_modules/whatwg-fetch/dist/fetch.umd.js:507:12)
    at /Users/munsterberg/code/creatordao/creatordao-portal/node_modules/@firebase/installations/src/functions/create-installation-request.ts:54:51
    at /Users/munsterberg/code/creatordao/creatordao-portal/node_modules/@firebase/installations/src/functions/common.ts:94:24
    at step (/Users/munsterberg/code/creatordao/creatordao-portal/node_modules/@firebase/installations/node_modules/tslib/tslib.js:143:27)
    at Object.next (/Users/munsterberg/code/creatordao/creatordao-portal/node_modules/@firebase/installations/node_modules/tslib/tslib.js:124:57)

我注意到 firebase 是堆栈跟踪的一部分。这可能是相关的吗?

  • 你能提供一个MRE吗?

标签: reactjs jestjs create-react-app jsdom


【解决方案1】:

经过数小时的调试,我发现它与从firebase/analytics 包导出的getAnalytics 函数有关。对我来说,解决方法是模拟 getAnalytics 函数,因为无论如何测试目的都不需要它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-28
    • 1970-01-01
    • 2013-02-11
    • 1970-01-01
    • 2015-07-25
    • 2017-10-29
    • 2011-10-03
    • 2016-11-18
    相关资源
    最近更新 更多