【问题标题】:Mocking multiple modules in single jest test在单一的笑话测试中模拟多个模块
【发布时间】:2019-08-03 00:50:27
【问题描述】:

我在玩笑时遇到了问题。我可以为每个测试文件模拟 1 个模块,但我无法模拟多个模块进行单次笑话测试。

例如

import mock1 from '../mockClass1';
import mock2 from '../mockClass2';

jest.mock('../mockClass1');
jest.mock('../mockClass2');
mock1.mockImplementation(() => {});
mock2.mockImplementation(() => {});

但这会产生错误,因为其中 1 个模拟不起作用。有没有一种方法可以模拟这两个模块,因为我在班级的快照测试中都需要它们。

【问题讨论】:

  • 您看到了什么错误?这应该可以正常工作..
  • 我也有同样的问题。错误是:TypeError: this.mock2.theTestedMethod is not a function你是怎么解决这个问题的?
  • 我遇到了同样的问题,如果我在同一个文件中尝试第二个模拟,现在正在工作的第一个模拟没有。你解决了吗?

标签: module mocking jestjs


【解决方案1】:

使用另一种模拟方法。我建议模拟这些方法:

const mock1: any = {
  methodToMock: jest.fn(() => {})
};

【讨论】:

    猜你喜欢
    • 2020-10-05
    • 2021-12-11
    • 2019-04-13
    • 2020-10-23
    • 2019-03-26
    • 2018-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多