ReactJs-使用Mocha进行单元测试,从Babel 6升级到Babel 7

问题描述 投票:0回答:1

今天从Babel v6-v7 @latest进行了升级,并且对于使用Mocha和Enzyme(相当标准)的一些现有单元测试开始崩溃。在控制台中出现此错误

\node_modules\reselect\lib\index.js:53
    throw new Error('Selector creators expect all input-selectors to be functions, ' + ('instead received the following types: [' + dependencyTypes + ']'));  

进一步挖掘失败的测试模式-可以发现引用了索引的测试即从索引查找导入的组件失败,如果提供实际路径,它将开始正常工作。

通过索引在下面看起来很平均-我们所有的组件都经过分类,然后导入/导出。我们从3年以来一直使用这种模式

从'./common/Folder/ABC'导入ABC;。。。从'./common/Folder/XYZ'导入XYZ;出口 {ABC,。。XYZ}

当我们像下面那样导入单元测试文件时,会发生错误

1.import { ABC } from 'componentIndex';

如果提供直接路径,则开始工作

2. import { ABC } from '../../ABC';

请让我知道在此情况下是否有任何疑问。

任何建议,我可能会丢失什么导致此错误。任何babel插件?谢谢!

reactjs babeljs babel-loader
1个回答
0
投票

问题出在

1.import {ABC} from'componentIndex';

导入ABC时,好像babel检查了componentIndex的正确性,并且其中引用了一个文件,该文件具有重新选择的createSelector。在执行单元测试时,某些选择器无法解析并导致错误。

在选择器中添加了控制台日志,仅运行了与选择器相关的测试子集,并修复了那些支持TDD的测试。一旦选择器可以进行单元测试,就可以对整个套件进行测试,并且不会更早遇到错误。

不确定他们如何处理版本6。

© www.soinside.com 2019 - 2024. All rights reserved.