У меня есть следующий код (t
// mock sns
const testMock = jest.fn().mockImplementation(() => {
return {
promise: () => jest.fn()
};
});
jest.mock('aws-sdk/clients/sns', () => {
return jest.fn().mockImplementation(() => {
return { publish: testMock };
});
});
Теперь, когда я запускаю это, я получаю следующую ошибку
ReferenceError: Cannot access 'testMock' before initialization
Может ли это быть что-то делать с шуткой, поднимая макет или что-то в этом роде?
Далее, если я переместу инсайдера testmock в область действия mock
, тогда он будет работать нормально.
// this works
jest.mock('aws-sdk/clients/sns', () => {
const testMock = jest.fn().mockImplementation(() => {
return {
promise: () => jest.fn()
};
});
return jest.fn().mockImplementation(() => {
return { publish: testMock };
});
});
Однако это лучше цель, так как я не могу проверить звонки или что-то еще.