Я довольно запутался, насмехаясь над 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