我有两个测试在本地通过,但没有在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
}.
有什么想法吗?我目前正在配置本地运行程序以尝试调试,如果有的话会返回更多信息。
答案 0 :(得分:0)
结果是文件的情况不同于git中的情况。从git中删除文件并添加所需大小写的新文件即可解决此问题。