Круговые зависимости при импорте sequelize - PullRequest
0 голосов
/ 20 апреля 2019

У меня есть электронный проект, где у меня есть набор классов, выходящий из абстрактного класса.Абстрактный класс имеет импорт экземпляра sequelize и модели (не показано в коде воспроизведения ниже).

После компиляции мое электронное приложение работает нормально.Но в тесте Jest продолжает возвращать ошибку

 Class extends value undefined is not a constructor or null

Из того, что я прочитал, это вызвано циклическими зависимостями.Я много раз комментировал код, но не могу понять, как предотвратить / решить эту проблему с помощью теста.

код воспроизведения можно найти здесь: https://github.com/jjoey87/jest-circular-dependencies

IsЕсть ли лучший способ реструктурировать мой импорт или реальный обходной путь, чтобы шутить над этой работой?Я не понимаю, почему это не вызывает проблем при компиляции через electronic-webpack, но бросает в шутку.Я также замечаю, что если я прокомментирую импортированные компоненты в модуле B, это позволяет моему тесту запускаться / проходить.

import ModuleC from '@common/ModuleC'
// import ComponentC from '@common/providers/ComponentC'
// import ComponentD from '@common/providers/ComponentD'
// import ComponentE from '@common/providers/ComponentE'
// import ComponentF from '@common/providers/ComponentF'
// import ComponentA from '@common/providers/ComponentA'
// import ComponentB from '@common/providers/ComponentB'

const providers = [
  // ComponentC,
  // ComponentD,
  // ComponentE,
  // ComponentF,
  // ComponentA,
  // ComponentB
]

Аналогичным образом, если я комментирую импорт sequelize из класса Abstract, он позволяет моемутест для прохождения

...