【发布时间】:2020-08-10 00:07:06
【问题描述】:
我的 react 组件应该根据当前位置对状态进行一些更改。
有自定义钩子,在组件加载时调用。
在钩子中有一个useLocation().pathname 的检查和正确更改的开关/大小写结果。
这可以在一个文件/描述中进行 Jest 测试吗?
我试过jest.mockuseLocation,但我无法在 Jest describe 中做到这一点......
这是模拟,目前不在描述中 - 这有效,但不能在测试之间更改:
const mockUseLocation = () => {
jest.mock('react-router-dom', () => ({
useLocation: jest.fn().mockReturnValue({
pathname: '/val1'
})
}))
};
如何测试所有的 switch/case 分支?
switch (pathname) {
case 'val1':
return 100;
case 'val2':
return 200;
...
...
}
【问题讨论】:
标签: jestjs react-hooks react-router-dom react-component