Sometimes, we want to use Jest to test a Link from React Router v4.
In this article, we’ll look at how to use Jest to test a Link from React Router v4.
How to use Jest to test a Link from React Router v4?
To use Jest to test a Link from React Router v4, we can wrap our component with StaticRouter before we mount it.
For instance, we write
import React from "react";
import renderer from "react-test-renderer";
import { Link } from "react-router-dom";
import { StaticRouter } from "react-router";
test("Link matches snapshot", () => {
const component = renderer.create(
<StaticRouter location="someLocation" context={context}>
<Link to="#" />
</StaticRouter>
);
const tree = component.toJSON();
expect(tree).toMatchSnapshot();
});
to wrap Link with StaticRouter before we call rendered.create.
Then we call component.toJSON to return the snapshot data.
And then we call expect and toMatchSnapshot` to check what’s rendered.
Conclusion
To use Jest to test a Link from React Router v4, we can wrap our component with StaticRouter before we mount it.