Jest документация ясно показывает, как вручную смоделировать класс ES6 , когда это экспорт по умолчанию. Например, вот класс, который экспортируется по умолчанию:
class QueryService {
query(queryText: string): Promise<any> {
// ----- Query the API -----
// ----- Return the result -----
return Promise.resolve({
data: {
ticker: 'GOOG',
name: 'Alphabet Company'
}
});
}
}
export default QueryService;
И это издевается следующим образом:
const mockQuery = jest.fn();
jest.mock('./QueryService', () => {
return jest.fn().mockImplementation(() => {
return {query: mockQuery};
});
});
Однако, как мне издеваться над этим классом, если это был именованный экспорт? Я не мог понять это!
Вот мое полное репо с этим примером .