Jest изменил тестовый каталог, в результате чего не определено все - PullRequest
0 голосов
/ 04 июня 2018

Раньше я собирал все свои тесты внутри директории __test__.Но я решил поместить каждый тестовый файл в каталог каждого компонента с другим соглашением имен.

Старая структура:

src/
 __test__/
  example.test.js
  example2.test.js

Новая структура:

src/
 components/
  example/
   example-controller.js
   example-model.js
   example-route.js
   example-test.js

Как присвоить имена иизменилось местоположение каталога, я обновил все операторы импорта и присвоения имен для соответствующих файлов.Я использовал функцию Jest по умолчанию, но так как я изменил имя файла теста на example-test с example.test Я также обновил package.json

"jest": {
          "testRegex": "./src/components/*/.*.-test.js$"
 },

Проблемакогда я запускаю проект, запускается npm, он выдает

beforeAll ((0, _asyncToGenerator3.default) (/#PURE/_regenerator2.default.mark (function _callee () {

ReferenceError: beforeAll не определено

есть идеи, почему это происходит?

1 Ответ

0 голосов
/ 28 января 2019

Попробуйте regextester с вашими путями к файлам, прежде чем расстраиваться.Кроме того, посмотрите на некоторые популярные существующие проекты javascript, использующие jest, и проверьте их конфигурацию jest, чтобы увидеть, как сообщество определяет структуру проекта.Может показаться простым следовать за другими, но большинство разработчиков программного обеспечения работают не в одиночку и обычно соглашаются с передовой практикой.

Рассмотрите возможность вернуться к этому проекту через год;Вы меняете стандартное поведение простого процесса, который прекрасно работает из коробки.Кто-то может ненавидеть вас позже после git blame.

Если все, что вы хотите сделать, это проверить все -test.js файлы, медленно изменяйте конфигурацию по умолчанию , пока вы не найдете нужные пути к файлам.

(/__tests__/.*|(\\.|/)(test|spec))\\.[jt]sx?$

Должно быть (для вас):

(.*/src/.*(-test).jsx?)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...