开玩笑地更新项目中的所有快照

时间:2018-09-03 14:25:11

标签: reactjs unit-testing jasmine jestjs enzyme

我写了一些测试,所有测试都很好并且绿色。然后,我需要更新快照。不幸的是,这是在运行更新快照之后。似乎已经编辑了所有组件快照。即使对于组件,我也没有改变。当我查看差异时,我会看到:

 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

1 个答案:

答案 0 :(得分:-1)

您需要酶转json插件才能使快照更易于阅读。至于您尚未更改的组件的更新快照,则必须由其他人对其进行了更改,并且它们没有更新快照。每当您更改组件的呈现方式时,都需要更新预期的快照。