NX环境下运行test-storybook报TypeError: Cannot read properties of undefined (reading 'map')
解决NX环境下test-storybook报TypeError: Cannot read properties of undefined (reading 'map')的问题
下面是几个经过验证的解决思路:
对齐Storybook测试运行器与核心包版本
这个错误大概率是版本不匹配导致的。确保@storybook/test-runner和你项目中@storybook/react/@storybook/angular等核心包的版本完全一致。查看package.json里的版本号后,执行npm install @storybook/test-runner@<你的Storybook版本号>来同步版本。检查NX的Storybook配置中stories字段
在.storybook/main.js配置文件里,确认stories字段能正确扫描到组件故事文件,比如:module.exports = { stories: ['../src/**/*.stories.@(js|jsx|ts|tsx)'], // 其他配置项 };NX的路径映射可能导致测试运行器无法正确获取stories列表,进而触发
map操作时的未定义错误。清除缓存后重试
执行以下命令清理缓存:npx nx reset npm cache clean --force缓存文件损坏也可能引发这类读取异常,清理后重启Storybook和测试运行器再试。
尝试不手动指定--url参数
直接执行npx test-storybook,让测试运行器自动启动关联的Storybook服务。NX环境下,手动指定URL可能跳过了内部的任务关联配置,导致测试运行器无法正确获取必要数据。排查测试运行器自定义配置
如果项目中有test-runner.js配置文件,检查其中是否存在错误的规则,比如错误的stories过滤逻辑,或者自定义setup函数中操作了未定义变量。
内容的提问来源于stack exchange,提问作者sir-haver
相关产品推荐
相关产品推荐

