我有一个电子项目,其中有一组从抽象类扩展而来的类。抽象类有一个 sequelize 实例和一个模型的导入(下面的复制代码中没有说明)。
编译后,我的电子应用程序运行良好。但是在测试中, jest 不断返回错误
Class extends value undefined is not a constructor or null
根据我的阅读,这是由循环依赖引起的。我一直在评论一遍又一遍的代码,但我无法理解如何通过测试来预防/解决这个问题。
复制代码可以在这里找到:https ://github.com/jjoey87/jest-circular-dependencies
有没有更好的方法来重组我的导入或实际的解决方法来开玩笑?我不明白为什么它在通过 electron-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
]
同样,如果我评论从 Abstract 类导入 sequelize,它允许我的测试通过