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

Unit test fails on Jenkins, not on local (React project)

我的 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 进行测试 + 伊斯坦布尔进行覆盖。

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

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

从“../MyCoolDir”导入一个

并且目录名称是 '../myCoolDir' 它可以在 mac 上运行,但不能在你的 jenkins 上运行。因为 linux 主机将无法找到该文件,因为它没有确切的名称

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

希望对您有所帮助