1

为什么要在快照中渲染对象 JSON?

对于一个组件

const MyComp =
  <Provider {...stores}>
    <Router history={history}>
      <ClassRoom.wrappedComponent {...props} />
    </Router>
  </Provider>,

我测试为

const wrapper = mount(MyComp );
expect(toJson(wrapper)).toMatchSnapshot();

我的快照是使用对象 json 信息生成的。

<Provider
  classRoomStore={ClassRoomStore {}}
  mqttStore={
    <MemoryRouter>
        <Router
          history={
            Object {
              "action": "POP",
              "block": [Function],
              "canGo": [Function],
              "createHref": [Function],
              "entries": Array [
                Object {
                  "hash": "",
                  "key": "o0ynpg",
                  "pathname": "/",
                  "search": "",
                  "state": undefined,
                },
              ],

key": "o0ynpg",每次测试都会产生一些诸如此类的问题。所以我的快照总是失败。

4

1 回答 1

0

对于任何阅读这篇文章的人想知道关闭enzyme-to-json快照中的键:

toJson(wrapper, {
  noKey: true
});
于 2018-12-11T20:16:54.983 回答