首页 > 解决方案 > 无法使用 firebase 在本地运行 mocha 测试

问题描述

我正在开发一个基于反应的前端应用程序,我正在使用 mocha / 酶进行单元测试。

该堆栈包括用于测试的 webpack、react、mocha + 酶和用于 auth / db / 等的 firebase。

当我尝试运行时npm test,由于 firebase 出现以下错误:

WEBPACK  Compiled successfully in 3412ms

 MOCHA  Testing...

 RUNTIME EXCEPTION  Exception occurred while loading your tests

TypeError: Cannot read property 'stringify' of undefined
    at Module.eval (webpack:///./node_modules/@firebase/webchannel-wrapper/dist/index.esm.js?:31:308)
    at eval (webpack:///./node_modules/@firebase/webchannel-wrapper/dist/index.esm.js?:136:30)
    ...

npm ERR! Test failed.  See above for more details.

什么可能导致此错误?这在我导入 firebase 之前没有发生。是否有我应该调整的 webpack 配置?

标签: reactjsfirebasewebpackmocha.js

解决方案


所以,我刚刚想通了。这似乎是如何加载测试的问题,导致firebase包以“web”模式加载,即使mocha测试过程正在“节点”模式下构建......或类似的东西。

无论如何,这是帮助我解决此问题的链接:https ://github.com/firebase/firebase-js-sdk/issues/1455#issuecomment-455712500 。

本质上,捆绑时忽略节点模块(特别是 firebase)。


推荐阅读