如何使用Jest仅为一个测试文件模拟模块?

时间:2017-06-09 18:24:47

标签: unit-testing jestjs

我正在使用 Jest ,我想模拟其他模块中的某些功能(让我们称之为dependency)。

我能够全局模拟dependency ,将其放在我的__mocks__文件夹中的__tests__文件夹中。

不幸的是,我需要所有其他测试的实际dependecy。那么,如何在我的dependecy中仅在需要时指定我需要模拟的file1.js,而不是在所有其他文件中?

PS:我可以在__mocks__文件夹中创建一个file1.js文件夹,但此文件位于根目录中,因此当任何文件需要dependency时,它将从__mocks__

1 个答案:

答案 0 :(得分:4)

您需要使用jest.mock

jest.mock('path/to/dependency', () => 'someMockValue')

请注意,路径是相对于测试文件的,而不是您要测试的文件。