I want to write snapshot test for my Footer component, but it throws error: You should not use <Link> outside a <Router>. Here is my code:
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()
})
I know this happens because Footer component uses Link from react-router-dom. In order to solve this problem I wrapped Footer component in BrowserRouter:
const tree = renderer
.create(
<BrowserRouter>
<Footer />
</BrowserRouter>
)
.toJSON()
but now it throws error: Browser history needs a DOM