今天从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插件?谢谢!
问题出在
1.import {ABC} from'componentIndex';
导入ABC时,好像babel检查了componentIndex的正确性,并且其中引用了一个文件,该文件具有重新选择的createSelector。在执行单元测试时,某些选择器无法解析并导致错误。
在选择器中添加了控制台日志,仅运行了与选择器相关的测试子集,并修复了那些支持TDD的测试。一旦选择器可以进行单元测试,就可以对整个套件进行测试,并且不会更早遇到错误。
不确定他们如何处理版本6。