我想为我的Footer组件编写快照测试,但它抛出错误:You should not use <Link> outside a <Router>. 这是我的代码:
import React from 'react'
import renderer from 'react-test-renderer'
import Footer from '../footer'
it('Footer renders correctly', () => {
const tree = renderer
.create(<Footer />)
.toJSON()
expect(tree).toMatchSnapshot()
})
我知道这是因为Footer组件使用Link来自react-router-dom. 为了解决这个问题,我将Footer组件包装在BrowserRouter:
const tree = renderer
.create(
<BrowserRouter>
<Footer />
</BrowserRouter>
)
.toJSON()
但现在它抛出错误: Browser history needs a DOM