【发布时间】:2021-11-08 02:38:58
【问题描述】:
我是 jest 测试的新手,我想测试以下代码。
import React from "react";
import "./ButtonLogin.css";
import { Link } from 'react-router-dom';
function ButtonLogin() {
return (
<Link to="/login"> <button className="button-login">Iniciar sesión</button></Link>
)
}
export default ButtonLogin;
import { MemoryRouter } from 'react-router-dom';
import { render, fireEvent, Link } from '@testing-library/react';
import { ButtonLogin } from './ButtonLogin';
it('routes to a new route', async () => {
ButtonLogin = jest.fn();
const { getByText } = render(
<MemoryRouter ButtonLogin={ButtonLogin}>
<Link to="/login">Iniciar sesión</Link>
</MemoryRouter>
);
fireEvent.click(getByText('Iniciar sesión'));
expect(ButtonLogin).toHaveBeenCalledWith('/login');
});
我已经执行了以下测试,但它失败了,我在第 9 行收到以下错误。 通往新路线的路线
"ButtonLogin" is read-only.
【问题讨论】:
标签: javascript reactjs jestjs react-router-dom react-testing-library