reactjs - 无法使用 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 配置?
解决方案
所以,我刚刚想通了。这似乎是如何加载测试的问题,导致firebase包以“web”模式加载,即使mocha测试过程正在“节点”模式下构建......或类似的东西。
无论如何,这是帮助我解决此问题的链接:https ://github.com/firebase/firebase-js-sdk/issues/1455#issuecomment-455712500 。
本质上,捆绑时忽略节点模块(特别是 firebase)。
推荐阅读
- ios - 下载数据期间集合视图中的图像发生变化
- postgresql - PostGIS 表索引
- javascript - 我们可以在 MSAL JS 中使用响应类型作为访问令牌进行身份验证吗
- javascript - Ionic 3 未定义但不是未定义
- asp.net-core - 使用 xUnit 测试依赖注入范围“一致性”
- css - 用css重排多行多列
- python - 如何解决 Int 对象不可下标错误
- apache-kafka - KTable 未触发
- docker - 如何使用“webdis docker image”向主机公开 redis-server 端口
- c# - 全局设置最大鼠标位置,而不仅仅是在 wpf 窗口上