Jenkins上的单元测试失败,而不是本地(React项目)

时间:2017-12-21 11:14:02

标签: reactjs unit-testing jenkins mocha enzyme

我的React项目的单元测试在本地传递完全正常但在Jenkins上失败。 我在Jenkins上收到此错误消息:

Error: Cannot find module '../../../../src/components/Sidebar/MenuList.jsx'

该文件确实存在并导入我的测试文件中,如下所示:

import { MenuList } from '../../../../src/components/Sidebar/MenuList.jsx';

并在我的MenuList.jsx文件中导出:

export class MenuList extends Component { ... }

我正在使用Mocha / Enzyme / Sinon进行测试+伊斯坦布尔的报道。

1 个答案:

答案 0 :(得分:2)

因为你有一个mac而我猜测jenkins是基于linux的。 检查文件名。意思是检查名称是否区分大小写。

你的问题是mac不区分大小写,而jenkins(即猜测)是在linux主机中。所以说你有这样的文件名

从'../ MyCoolDir'

导入a

并且目录名称是'../myCoolDir'它将在Mac上运行,但不适用于您的jenkins。因为linux主机无法找到该文件,因为它没有确切的名称

你可能想看看这个配置git How do I commit case-sensitive only filename changes in Git?

希望有所帮助