gpt4 book ai didi

javascript - 如何正确模拟 useLocation?

转载 作者:行者123 更新时间:2023-12-05 00:36:27 26 4
gpt4 key购买 nike

我有一个使用 useLocation 钩子(Hook)从 URL 获取路径的组件。

const { pathname } = useLocation();
useEffect(() => { }, [pathname]);
当我尝试使用模拟位置时,
import React from 'react';
import ExampleComponent from './ExampleComponent';
import { fireEvent, render } from '@testing-library/react';
import { shallow } from 'enzyme';

jest.mock('react-router-dom', () => ({
...jest.requireActual('react-router-dom'),
useLocation: () => ({
pathname: 'https://URL/'
})
}));

describe('<ExampleComponent />', () => {
it('should render correctly', () => {
shallow(<ExampleComponent />);
});
});
我在运行测试时收到此错误,
类型错误:无法读取未定义的属性“位置”

最佳答案

尝试将 useLocation 模拟为 jest.fn().mockImplementation

jest.mock('react-router', () => ({
...jest.requireActual("react-router") as {},
useLocation: jest.fn().mockImplementation(() => {
return { pathname: "/testroute" };
})
}));

关于javascript - 如何正确模拟 useLocation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67965012/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com