我正在使用oidc-client为我的身份验证服务设置测试类。
当尝试模拟oidc-client的功能signinRedirect时,出现提升问题,并引发以下错误。我了解这个问题,但不知道如何解决。
The module factory of ``jest.mock()`` is not allowed to reference any out-of-scope variables. Invalid variable access: myFunc
const myFunc = jest.fn();
jest.mock('oidc-client', () => ({
UserManager: () => ({
signinRedirect: myFunc
})
}));
describe('oAuth', () => {
it('should call signin redirect when login is called', () => {
login();
expect(myFunc).toHaveBeenCalled();
});
});
答案 0 :(得分:0)
尝试将myFunc的名称更改为 mock MyFunc。
如果模拟变量是惰性的,则可以给它们加上模拟前缀。我从几分钟前得到的错误描述的一小部分中获取了此信息:
注意:这是预防未初始化的 mock 的预防措施 变量。如果确保懒惰地需要模拟,则变量 允许以
mock
开头的名称(不区分大小写)。