Снимки Jest не совпадают - Концы строк в Windows и Unix / Linux - PullRequest
0 голосов
/ 12 июня 2018

У нас есть проект, разработанный несколькими разработчиками для нескольких операционных систем.У нас есть ограничение на количество символов в нашей более красивой конфигурации, равное 120 символам.Наши машины Windows производят снимки, отличные от наших машин Linux / Unix.

Windows:

              <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 для линтинга, Babel для трансформации.

Связанные настройки

  1. babelrc: transform: {"^. + \. Jsx? $": "Babel-jest"}
  2. eslintrc: "globals": {"jest": true}
  3. prettierrc: "printWidth": 120
  4. prettierignore: * .snap

Project

React,Babel, Webpack, vanilla es6 + проект без машинописи с шуткой для тестирования

Research

Мы попытались установить "linebreak-style" eslint: ["error", "unix"], чтобы увидетьесли изменение eslint будет обновлять исправление снимок шутки для окон, но безрезультатно.Мы обеспечили одинаковую установленную версию jest для всех компьютеров.То же самое с красивее и эслинт.

Есть предложения о том, как мы можем решить эту проблему, чтобы тесты не проваливались для одной или другой ОС?

Ответы [ 2 ]

0 голосов
/ 18 июля 2019

У нас была точно такая же проблема, когда машины Windows генерировали моментальные снимки с разрывами строк, отличными от Mac.

Мы обнаружили, что VS Code был установлен в настройки LF разрыва строки на машине Windows и исправлен на CRLF исправленопроблема.

Я бы порекомендовал проверить настройки окончания строки в ваших редакторах и в любом другом месте ранее в цепочке.

0 голосов
/ 09 апреля 2019

Мы используем сериализатор снимков в нашем проекте, чтобы избежать подобных проблем, это должно помочь и в вашем случае.Для html-снимков я рекомендую jest-serializer-html

...