相关疑难解决方法(0)

如何使用 Jest 测试 React Router

我是玩笑测试的新手,我想测试以下代码。

\n
import React from "react";\nimport "./ButtonLogin.css";\nimport { Link } from 'react-router-dom';\n\nfunction ButtonLogin() {\n    return (\n        <Link to="/login"> <button className="button-login">Iniciar sesi\xc3\xb3n</button></Link>\n    )\n}\n\nexport default ButtonLogin;\n
Run Code Online (Sandbox Code Playgroud)\n
import { MemoryRouter } from 'react-router-dom';\nimport { render, fireEvent, Link } from '@testing-library/react';\nimport { ButtonLogin } from './ButtonLogin';\n\nit('routes to a new route', async () => {\n\n  ButtonLogin = jest.fn();\n\n  const { getByText } = render(\n    <MemoryRouter ButtonLogin={ButtonLogin}>\n      <Link to="/login">Iniciar sesi\xc3\xb3n</Link>\n    </MemoryRouter>\n  );\n\n  fireEvent.click(getByText('Iniciar sesi\xc3\xb3n'));\n\n  expect(ButtonLogin).toHaveBeenCalledWith('/login');\n});\n
Run Code Online (Sandbox Code Playgroud)\n

我已经执行了以下测试,但失败了,并且在第 9 行中收到以下错误。\n路由到新路由

\n
"ButtonLogin" is read-only.\n
Run Code Online (Sandbox Code Playgroud)\n

javascript reactjs jestjs react-router-dom react-testing-library

11
推荐指数
1
解决办法
4万
查看次数