hei*_*584 3 testing reactjs jestjs
出于测试目的,我需要模拟 jwt-decode 库。我使用它如下:
const decodedToken: { exp: number } = jwt_decode(token);
Run Code Online (Sandbox Code Playgroud)
然后在测试中尝试了以下并得到如下错误:
jest.mock('jwt-decode');
Run Code Online (Sandbox Code Playgroud)
类型错误:无法读取未定义的属性“exp”
jest.mock('jwt-decode', () => ({
exp: 123,
}));
Run Code Online (Sandbox Code Playgroud)
TypeError: (0 , _jwtDecode.default) 不是函数
问题在于 的第二个参数jest.mock。在您的示例中,它是一个返回对象的函数:
jest.mock('jwt-decode', () => ({ ... }))
Run Code Online (Sandbox Code Playgroud)
但是由于您尝试模拟的属性是模块的默认导出,因此参数需要是一个函数,该函数返回一个返回对象的函数:
jest.mock('jwt-decode', () => () => ({ ... }))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4647 次 |
| 最近记录: |