我们有一个由多个开发人员在多个操作系统上开发的项目。我们在更漂亮的配置中将字符限制设置为 120 个字符。我们的 windows 机器生成的快照与我们的 linux/unix 机器不同。
视窗:
<h4
className="RightPanel__item--heading heading--headingBlocks
subHeading--headingBlocks subHeading--different"
>
而在我们的 linux/unix 机器上,快照会生成以下行:
<h4
className="RightPanel__item--heading heading--headingBlocks subHeading--headingBlocks subHeading--different"
>
对于 linux/unix 快照,代码在第 119 列结束,而 Windows 机器在最后几个属性之前生成一个新行。我们使用 React,使用 Jest 进行测试,使用 eslint 进行 linting,使用 Babel 进行转换。
相关配置
- babelrc: 转换: { "^.+\.jsx?$": "babel-jest" }
- eslintrc: "globals": { "jest": true }
- prettierrc:“打印宽度”:120
- prettierignore: *.snap
项目
React, Babel, Webpack, vanilla es6+ no typescript project with jest for testing
研究
我们尝试设置 eslint 的 "linebreak-style": ["error", "unix"] 以查看 eslint 更改是否会更新修复 Windows 的开玩笑快照,但无济于事。我们已确保跨机器安装相同版本的 jest。与 prettier 和 eslint 相同。
关于我们如何解决这个问题的任何建议,以便一个操作系统或另一个操作系统的测试不会失败?