首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Oidc-客户端jest.mock()不允许引用任何超出范围的变量

Oidc-客户端jest.mock()不允许引用任何超出范围的变量
EN

Stack Overflow用户
提问于 2019-02-14 22:39:49
回答 1查看 1.9K关注 0票数 2

我正在为我的auth服务设置一个使用oidc-client的测试类。

当尝试模拟oidc- signinRedirect的函数客户端时,我遇到了提升问题,并抛出了以下错误。我理解这个问题,但不知道如何解决它。

The module factory of ``jest.mock()`` is not allowed to reference any out-of-scope variables. Invalid variable access: myFunc

代码语言:javascript
复制
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();
    });
});
EN

回答 1

Stack Overflow用户

发布于 2019-06-04 08:42:16

尝试将myFunc的名称更改为mockMyFunc。

如果您的模拟变量是惰性的,您可以在它们前面加上mock。我从几分钟前得到的错误描述的一小部分中获取了以下信息:

注意:这是防止未初始化模拟变量的预防措施。如果确保延迟地需要模拟,则允许使用前缀为mock (不区分大小写)的变量名。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54692952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档