configuration - 创建 React App Rewired 应用程序忽略 jest.config.js
问题描述
我有一个使用“create react app rewired”创建的反应应用程序。我已经安装了 ts-jest 并且希望能够自定义 Jest。我从 ts-jest 阅读了文档并npx ts-jest config:init
在我的项目的根级别执行以创建初始配置文件。为了测试 jest 确实在使用该配置文件,我console.log(window);
在示例测试文件中编写了以下行并修改了配置,使其testEnvironment
设置为“node”。
我希望测试由于window
未定义而失败,但我正在取回窗口对象。我尝试将文件重命名为jest.config.ts
,我得到了相同的结果。
我对所有文件进行了全局搜索,以查看是否有另一个配置文件覆盖了我的配置,但没有找到。
我究竟做错了什么?我知道 jest 预装了 create-react-app (CRA)。我想 create-react-app-rewired 只会在 CRA 上方包含一些包装器,那么它从哪里获取配置?
解决方案
我开始意识到 create-react-app-rewired 包与此问题无关,因为它只是一个包装器包,它公开一个configure-overrides.js
文件以允许开发人员修改由 create-react-app 管理的 webpack 配置。
我创建的jest.config.ts
orjest.config.js
配置文件没有效果,因为create react app (CRA) 将在底层生成并使用它自己的 jest 配置文件。
我在研究另一个问题时偶然发现了这一点。dstapleton92在 GitHub 上的评论帮助我得出了这个结论。
Create React App 支持通过文件中的“jest”属性覆盖一些值package.json
。在检查CRA 中的 jest config factory 函数时,testEnvironment
属性被硬编码为“jsdom”,并且密钥不会作为可覆盖属性列表的一部分公开。
这就是我所做的尝试没有成功的原因。
推荐阅读
- r - ChoiceModelR 会改变案例的顺序吗?
- ruby-on-rails - Ruby on rails 5.2 - 具有活动存储的背景图像
- java - 如果这个或那个带有字符串
- android - RecylerView Toasts only first item 无论点击的项目
- wordpress - AMP 网站/URL 显示空白页
- sql-server - SQL 查询 - “TypeError: sequence item 0: expected string, Decimal found” 使用值
- python-3.x - 将熊猫系列转换为数据框
- .net - ReCaptcha 2.0 远程服务器返回错误(错误请求)
- python - 尝试创建表时出现“ValueError:格式中的零长度字段名称”
- c# - 将多部分内存流读入文件