我们有一个由多个开发人员在多个操作系统上开发的项目。我们在更漂亮的配置中将字符数限制设置为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:“ printWidth”:120
prettierignore:* .snap
项目
React,Babel,Webpack,vanilla es6 +没有带有测试的打字稿项目
研究
我们尝试设置eslint的“换行样式”:[“ error”,“ unix”],以查看eslint的更改是否会使Windows的jest快照修复无效。我们已经确保跨机器安装了相同的jest版本。与漂亮和夹板一样。
关于如何解决此问题的任何建议,以确保测试不会在一个或另一个操作系统上失败?
最佳答案
我们在项目中使用快照序列化程序来避免此类问题,它对您的情况也应有所帮助。对于html快照,我建议jest-serializer-html
关于reactjs - Jest快照不匹配-Windows vs Unix/Linux Line Endings,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50823500/