如何在 Next JS 中用 jest 模拟“next/link”中的 Link 组件,并在单击链接元素后检查重定向路径?
这是一个带有测试的示例组件:
import Link from "next/link";
export default function Nav() {
return (
<div>
<Link href="/login">
<span>Click here</span>
</Link>
</div>
)
}
describe("Nav", () => {
it("redirects correctly", async () => {
render(<Nav />)
fireEvent.click(screen.getByText("Click here"));
// check if redirect to href prop works as expected
});
});
您可以用RouterContext提供商包装测试,并将模拟路由器作为值传递
并在您的utils中创建一个createMockrouter实用程序。