我对如何对实现进行单元测试的Jest 感到困惑.问题是我想模仿不同的预期行为.
有没有办法做到这一点?由于导入只能位于文件的顶部,并且为了能够模拟某些内容,必须在导入之前声明它.我还try 传递一个本地函数,以便覆盖行为,但jest抱怨不允许传递任何本地函数.
jest.mock('the-package-to-mock', () => ({
methodToMock: jest.fn(() => console.log('Hello'))
}));
import * as theThingToTest from '../../../app/actions/toTest'
import * as types from '../../../app/actions/types'
it('test1', () => {
expect(theThingToTest.someAction().type).toBe(types.SOME_TYPE)
})
it('test2', () => {
//the-package-to-mock.methodToMock should behave like something else
expect(theThingToTest.someAction().type).toBe(types.SOME_TYPE)
})
你可以想象theThingToTest.someAction()
次使用the-package-to-mock.methodToMock
次