当包裹在MemoryRouter中时,为什么React TestingLibrary不能渲染DOM节点?

时间:2019-12-11 21:17:54

标签: react-router react-testing-library

我正在尝试测试使用Router的组件,因此需要将我的组件包装在Router组件中(在本例中为MemoryRouter)。但是,我发现当包裹在Router中时,React TestingLibrary不会渲染DOM节点。

依赖项:

  • “ react-router-dom”:“ 4.3.1”
  • “ @ testing-library / react”:“ 9.1.3”

我尝试过的事情:

  1. (工作)呈现常规DOM节点。
render(<div>TestTest</div>)

// Output
<body>
  <div>
    <div>
      TestTest
    </div>
  </div>
</body>
  1. <MemoryRouter>中包装DOM节点。
render(<MemoryRouter><div>TestTest</div></MemoryRouter>)

// Output
<body>
  <div />
</body>
  1. 使用React Testing Library文档中指定的<MemoryRouter>选项包装wrapper中的DOM节点。
render(<div>TestTest</div>, { wrapper: MemoryRouter })

// Output
<body>
  <div />
</body>

0 个答案:

没有答案