React Jest, Enzyme 删除或隐藏收到的部分

React Jest, Enzyme remove or hide Received part

我正在为我的 React 构建探索测试,总的来说 - 所有工作都按预期进行。 我对测试的 "Received" 信息部分有疑问。

我真的需要全部信息吗?因为看起来多余。

例如,我对 DOM 元素进行了简单检查,并希望有 1 个元素并得到 2 个元素 - 我对这部分很满意,但我如何隐藏所有这些意大利面条?

package.json 的笑话部分:

"jest": {
    "setupTestFrameworkScriptFile": "./node_modules/jest-enzyme/lib/index.js",
    "unmockedModulePathPatterns": [
      "react",
      "enzyme",
      "jest-enzyme"
    ]
  },

你比较的是整体浅渲染。 toHaveLength 对我来说并不是一直有效。

尝试:

期望(wrapper.find(".testing-purposes").length).toBe(2);

您可以做几件事,

  1. 检查find元素是否退出like

    expect(wrapper.find(".testing-purposes").exists()).toBe(true);
    
  2. 检查 return 个元素的长度,如

     expect(wrapper.find(".testing-purposes").length).toBe(2);
    

根据documentation:

Use .toHaveLength to check that an object has a .length property and it is set to a certain numeric value.

This is especially useful for checking arrays or strings size.

你的情况似乎并非如此