如何解决如何使Jest --watch在JSON / YAML文件的更改上运行?
我正在使用--watch
进行一些测试,这些测试取决于数据装置。我希望在编辑数据文件(而不只是代码)时触发手表运行。
我在package.json
中添加了以下内容,特别是为yaml
添加了moduleFileExtensions
,但还是没有运气。基于:
https://jestjs.io/docs/en/configuration#modulefileextensions-arraystring
我可以对package.json
进行设置以查看它是否甚至被拾取了吗?我猜下一步是尝试使用.js
配置,并抛出一些错误,看看我是否在树错树皮!
yaml文件不是“导入”的一部分,否则,它们仅由我的代码加载。因此,我希望一种“触摸”文件的方式可以重新触发手表运行。
也许watch命令还需要指定要监视的数据文件?
"jest": {
"verbose": true,"modulePaths": [
"cdn","src"
],"moduleFileExtensions": [
"js","json","jsx","ts","tsx","yaml"
]
解决方法
According to this issue moduleFileExtensions
是配置要监视的其他文件扩展名的正确位置。但是,您应该使用modulePaths
而不是roots
来配置要监视的目录。
modulePaths
的笑话:
用于设置NODE_PATH env变量的另一种API,modulePaths是解析模块时要搜索的其他位置的绝对路径的数组。
模块在执行测试之前已解决,并且预计不会有太大变化。如果您想添加目录供Jest观看,则可以考虑使用roots
config。
roots
的笑话:
Jest用于搜索文件的目录的路径列表。
package.json
{
...
"jest": {
"roots": [
"<rootDir>/cdn","<rootDir>/src"
],"moduleFileExtensions": [
"js","json","jsx","ts","tsx","node","yaml","yml"
]
}
}
请注意,我还为模块文件扩展名添加了“ yml”,以防您使用yml / yaml。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。