我写了一些测试,所有测试都很好并且绿色。然后,我需要更新快照。不幸的是,这是在运行更新快照之后。似乎已经编辑了所有组件快照。即使对于组件,我也没有改变。当我查看差异时,我会看到:
exports[`MyComponent should render correctly 1`] = `
ShallowWrapper {
- "length": 1,
Symbol(enzyme.__root__): [Circular],
Symbol(enzyme.__unrendered__): <FileManagement
areYouSure="Are you sure?"
@@ -1250,8 +1249,20 @@ ShallowWrapper {
"adapter": ReactSixteenAdapter {
"options": Object {
"enableComponentDidUpdateOnSetState": true,
+ "lifecycles": Object {
+ "componentDidUpdate": Object {
+ "onSetState": true,
+ },
+ "getDerivedStateFromProps": true,
+ "getSnapshotBeforeUpdate": true,
+ "setState": Object {
+ "skipsComponentDidUpdateOnNullish": true,
+ },
+ },
},
},
+ "attachTo": undefined,
+ "hydrateIn": undefined,
},
任何帮助都会很大,因为它破坏了我的詹金斯工作,而且我似乎无法解决。我不确定为什么要将密钥添加到快照?还有为什么对所有人都这样做。
我正在使用节点版本10.9
和Jest版本22.4.3
答案 0 :(得分:-1)
您需要酶转json插件才能使快照更易于阅读。至于您尚未更改的组件的更新快照,则必须由其他人对其进行了更改,并且它们没有更新快照。每当您更改组件的呈现方式时,都需要更新预期的快照。