如何在__mocks__文件夹中使用模拟文件在ES6类中手动模拟方法?

时间:2018-03-01 10:21:17

标签: mocking jestjs

我正在ES6类中尝试手动模拟方法,方法是在__mock__文件夹中创建手动模拟文件。但模拟文件根本不起作用。这是我的项目:

├── __mocks__
│   └── MockTestDependency.js
├── MockTestDependency.js
└── MockTest.test.js

./ MockTestDependency.js:

export default class MockTestDependency {
    addAction(value1, value2) {
        return value1 + value2
    }
}

./__嘲笑__ / MockTestDependency.js:

export default {
    addAction: jest.fn((value1, value2) => {
        return value1 + value2 + 1
    })
}

./ MockTest.test.js:

import MockTestDependency from "./MockTestDependency"

beforeAll(() => {
    jest.mock('./MockTestDependency')
})

describe('mock test', () => {
    it('first case', () => {
        let mockTestDependency = new MockTestDependency()
        expect(mockTestDependency.addAction(1, 2)).toBe(4)
    })
})

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

jest.mock('./MockTestDependency')之前,应该在导入之后调用

beforeAll

它将被提升到代码块的顶部,实际上在任何导入之前调用(这是必要的)。如果在beforeAll内部已经加载外部依赖项后调用它。