我的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进行测试+伊斯坦布尔的报道。
答案 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?
希望有所帮助