cypress - 为赛普拉斯设置自定义默认导入路径
问题描述
我们使用 Cypress 来测试使用 Create React App 构建的应用程序,并且我们的 CRA 应用程序在.env
- <code>NODE_PATH=src/ 中设置自定义导入路径 - 以便我们可以“绝对”导入文件,例如import Foo from 'components/Foo'
vs.import Foo from '../../components/Foo'
问题是,如果我们将其中一个文件从 CRA 导入到赛普拉斯测试中,并且导入的文件包含诸如import routes from 'lib/routes'
赛普拉斯不知道如何处理该路径的内容,则导入失败。
例子
假设我们有以下文件:
/cypress/integration/test.js
import routes from '../../src/lib/routes';
// Tests here…
/src/lib/routes.js
import { routeHelpers } from 'lib/routes';
// Routing code here
在这种情况下,/cypress/integration/test.js
导入/src/lib/routes.js
时会遇到绝对导入,'lib/routes'
不知道如何解决该路径。
以这种方式搜索导入时,有没有办法为赛普拉斯设置自定义路径以包含在内?在这个任意示例的情况下,这意味着告诉赛普拉斯src
用作解析导入的目录。
解决方案
最简单的解决方案是简单地使用NODE_PATH=src
. 所以我package.json
的只是简单地更新为以下内容:
"scripts": {
"cypress:open": "NODE_PATH=src cypress open",
"cypress:run": "NODE_PATH=src cypress run",
},
推荐阅读
- java - 实施 mapsforge 后的 ProGuard 警告
- sql - 重新排序最终存储过程 SELECT / OUTPUT 中的列
- javascript - 获取车把模板的渲染值并将其放入 PHP 变量中
- javascript - 获取目标元素属性
- apache-kafka - 制作 Apache Storm 拓扑以使用来自 kafka 的最新偏移量
- android - 无法修复 Fabric 上的崩溃...在 recyclerview 方法中
- r - dplyr 之间的情况
- perl - Perl Mojolicious 模型
- c# - Amazon DynamoDB InvalidOperationException on AWS
- c++ - C++ template with variadic argument specialization for number of arguments