如何在 setupTests 中覆盖 Jest 模拟

Alb*_*ivé 2 javascript unit-testing jestjs

我添加jest.mock('./Component')进来是setupTests.js因为我不想在每个有Component.

但现在,当我想测试时Component,它被嘲笑了。

我如何覆盖或重置它,以获得原始的Component

到目前为止我已经尝试过:

  • jest.unmock(模块名称)
  • jest.dontMock(模块名称)
  • jest.clearAllMocks()
  • jest.resetAllMocks()
  • jest.restoreAllMocks()
  • jest.resetModules()

和:

jest.mock('./index', () => ({
  Component: 'Component'
}));
Run Code Online (Sandbox Code Playgroud)

And*_*aro 5

jest.unmock(moduleName)应该可以工作,但只有在 test 的describeblock之前使用它时才有效。

Jest 以自己的方式转译您的测试,以使所有模拟/解锁魔法发生。