Я новичок в Jest, я пытаюсь смоделировать мою контекстную функцию HO C для проверки моего компонента. Вот моя структура папок
Структура папок
В основном я пытаюсь смоделировать файл homeContext. js, который используется моим компонентом HomeScreen. Согласно документам, я создал папку __mocks__
в папке контекстов и создал файл homeContext.js
. Содержимое файлов:
/contexts/__mocks__/homeContext.js
const mock = jest.fn().mockImplementation(() => {
console.log('Mocking');
return {
withHomeContext: jest.fn(() => {}),
};
});
module.exports = mock;
contexts/homeContext.js
export const withHomeContext = ChildComponent => props => {
console.log('Not Hitting');
return (
<HomeContext.Consumer>
{context => <ChildComponent {...props} homeContext={context} />}
</HomeContext.Consumer>
);
};
Вот как я пытаюсь использовать его в моем scenes/home/index.test.js
jest.mock('../../contexts/homeContext');
import React from 'react';
import {mount} from 'enzyme';
import HomeScreen from './index';
describe('<HomeScreen /> renders', () => {
let wrapper;
beforeEach(() => {
wrapper = mount(<HomeScreen />);
expect(wrapper).toBeDefined();
});
})
Вот как использует компонент, который я тестирую it
import * as React from 'react';
//Context
import {withHomeContext} from '../../contexts/homeContext';
class HomeScreen extends React.Component {
constructor(props) {
super(props);
this.state = {
relatedItems: [],
};
}
render() {
//Some render logic
}
}
export default withHomeContext(HomeScreen);
Пожалуйста, помогите мне, почему мой __mocks__/homeContext.js
никогда не попадает, он попадает в реальный файл, который регистрирует консоль ('Not Hitting')