当我使用react-testing-library时,它说错误:不变的预期应用程序路由器要安装,在开发环境中运行时没有这样的问题。
测试逻辑在这里
import { render, screen } from "@testing-library/react"
import userEvent from "@testing-library/user-event"
import NavBar from "@/components/NavBar";
describe("<NavBar>", () => {
it ("the login pop out displayed after click the login/sign up button", async () => {
render(<NavBar />);
const loginButton = screen.getByRole("link", {
name: "LOGIN/SIGN UP"
});
const loginCard = screen.getByTestId("loginCard");
await userEvent.click(loginButton);
expect(loginButton).toBeCalled();
expect(loginCard).toBeVisible();
})
});
Run Code Online (Sandbox Code Playgroud)
组件在这里:导航栏:
"use client"
import React, { Dispatch, SetStateAction } from "react";
import { useRouter } from "next/navigation";
interface NavBarProps {
setVisibleLogin?: Dispatch<SetStateAction<boolean>>; …Run Code Online (Sandbox Code Playgroud)