描述Bug
jest-preset-angular已经在他们的v9版本中移动了文件。setup-jest现在应该从jest-preset-angular/setup-jest
而不是jest-preset-angular/build/setup-jest
导入
此处setup-jest的导入需要一个额外的tryCatch块,用于新文件的位置/名称https://github.com/storybookjs/storybook/blob/next/addons/storyshots/storyshots-core/src/frameworks/angular/loader.ts#L21
此错误会阻止故事快照与jest v27和jest-preset-angular v9一起运行
重现
jest-预设-Angular 〉9
系统
环境信息:
系统:
最低操作系统:MacOS 10.15.7
CPU:(16)x64英特尔(R)酷睿(TM)i9- 9880 H CPU,主频2.30 GHz
二进制文件:
节点:14.17.0 - ~/.nvm/版本/节点/v14.17.0/bin/节点
Yarn:1.22.10 - ~/.nvm/版本/节点/v14.17.0/bin/Yarn
npm:6.14.13 - ~/.nvm/版本/节点/v14.17.0/bin/npm
浏览器:
铬:91.0.4472.77
火狐浏览器:88.0.1
Safari浏览器:14.1.1
npm程序包:
@故事书/附加组件:6.2.9 =〉6.2.9
@故事书/附加动作:6.2.9 =〉6.2.9
@故事书/附加-必需品:6.2.9 =〉6.2.9
@故事书/附加链接:6.2.9 =〉6.2.9
@故事书/插件-postcss:2.0.0 =〉2.0.0版本
@故事书/附加故事快照:6.2.9 =〉6.2.9
@故事书/附加故事源:6.2.9 =〉6.2.9
@故事书/棱角分明:6.2.9 =〉6.2.9
其他上下文
6条答案
按热度按时间ryoqjall1#
此外,https://github.com/storybookjs/storybook/blob/next/addons/storyshots/storyshots-core/src/frameworks/angular/renderTree.ts#L1-L2需要更新,序列化器已重命名:
将“jest-preset-angular/build/AngularSnapshotSerializer.js”更改为“jest-preset-angular/build/序列化程序/ng-快照”。
已将“jest-preset-angular/build/HTMLCommentSerializer.js”更改为“jest-preset-angular/build/序列化程序/html注解”。
不确定tryCatch在这里是否也可以工作,或者jest-preset-angular对等依赖关系是否应该设置为〉9
2nbm6dog2#
像这样东西应该可以
但这意味着失去向后兼容性
p8h8hvxi3#
这将使它达到6.3还是必须等待6.4?或者有没有可能有一个不同版本的
storyshots
到核心包?qcuzuvrc4#
我会建议有人发布一个分叉版本的故事。
hxzsmxv25#
我有点大吃一惊,他们只是为
jest-preset-angular
依赖项使用了一个glob模式。我没有办法知道哪个版本对他们有效。除非你已经有了一个旧的故事拍摄设置与jest-preset-angular,它看起来像做一个新的设置是几乎不可能的库和文档的状态。
hkmswyz66#
不知道是否有人派生了这个项目,但我设法通过使用jest config的moduleNameMapper来覆盖路径,使项目正常工作: