Gitlab CI单元测试失败

时间:2018-08-14 03:26:16

标签: javascript reactjs gitlab jestjs gitlab-ci

我有两个测试在本地通过,但没有在GitlabCI上通过,对于我一生,我不知道为什么。

我已经读过here,macOS并不区分大小写,并且ci可能是ci,所以我仔细检查了所有拼写,一切看起来都很好。

这是文件系统布局:

  src/
    App.jsx
    App.test.jsx
    components/
      A/
        index.js 
        B/
          C/
            CContainer.jsx 
            CContainer.test.jsx

下面是错误代码:

FAIL  src/components/A/B/C/CContainer.test.jsx


● Test suite failed to run

Cannot find module './CContainer' from 'CContainer.test.jsx'

  at Resolver.resolveModule (../../../tmp/node_modules/jest-resolve/build/index.js:179:17)
  at Object.<anonymous> (src/components/A/B/C/CContainer.test.jsx:3:29)

我来自CContainer.test.jsx的代码:

import React from 'react';
import { shallow } from 'enzyme';
import { CContainer } from './CContainer';

const props = {
  saveTempUser: () => '',
  history: {},
  user: {},
};

it('renders without crashing', () => {
  shallow(<CContainer {...props} />);
});

这两个文件是同级文件,CContainer很简单:

...
export class CContainer extends Component {
...
}
...
export default connect(mapStateToProps, mapDispatchToProps)(CContainer)

同一个文件的顶层App.test.js中最奇怪的是出现了一个问题:

 FAIL  src/App.test.js


● Test suite failed to run

Cannot find module './B/C/CContainer' from 'index.js'

  at Resolver.resolveModule (../../../tmp/node_modules/jest-resolve/build/index.js:179:17)
  at Object.<anonymous> (src/components/A/index.js:4:29)

index.js就是:

import ConnectedCContainer, { CContainer} from './B/C/CContainer'
...


export {
  ...
  ConnectedCContainer,
  CContainer
}.

有什么想法吗?我目前正在配置本地运行程序以尝试调试,如果有的话会返回更多信息。

1 个答案:

答案 0 :(得分:0)

结果是文件的情况不同于git中的情况。从git中删除文件并添加所需大小写的新文件即可解决此问题。