【问题标题】:How to mock an object using jest , object is from CDN link如何使用 jest 模拟对象,对象来自 CDN 链接
【发布时间】:2020-08-14 23:09:56
【问题描述】:

我设法在实际应用程序中使用来自 CDN 链接的对象(记录遥测数据),但不幸的是我的笑话测试失败了。如果我们只是在运行测试,有没有办法模拟这个对象,或者有没有办法跳过遥测代码(不要执行那些代码行)?

声明 const oneDS: any; 让 logger = new oneDS.ApplicationInsights(); // 在通常的应用程序中工作,但在开玩笑测试中失败

【问题讨论】:

    标签: reactjs unit-testing logging mocking jestjs


    【解决方案1】:

    只有以这种意图编写的代码才能被跳过,例如:

    let logger;
    
    if (process.env.NODE_ENV === 'production') {
      logger =  new oneDS.ApplicationInsights();
    } else {
      logger = /* dummy implementation */
    }
    

    它可以像任何其他全局变量一样在测试中被模拟:

    beforeEach(() => {
      global.oneDS = {
        ApplicationInsights: jest.fn().mockReturnValue(/* dummy implementation */)
      };
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-20
      • 1970-01-01
      • 2019-10-13
      • 1970-01-01
      • 1970-01-01
      • 2015-04-20
      • 2020-04-28
      相关资源
      最近更新 更多