У меня есть файл RootStore
, который создает все мои хранилища mobx:
class RootStore {
@observable stores = {};
constructor() {
this.stores.uiStateStore = new UiStateStore(this);
...
}
}
export default new RootStore();
У меня также есть базовый компонент React, который импортирует RootStore:
import React from 'react';
import RootStore from '../../Stores/RootStore';
import { Button } from '../Button';
const CloseButton = props => {
const handleClose = ev => RootStore.stores.uiStateStore.closeModal();
return <Button icon="Close" onClick={handleClose} {...props} />;
};
export default CloseButton;
I'mдовольно плохо знаком с mobx, а также неопытен в тестировании.Я пытаюсь написать несколько базовых тестов, используя Jest и Enzyme для проверки правильности визуализации компонента:
it('should render correctly with no props', () => {
const component = shallow(<CloseButton/>);
expect(component).toMatchSnapshot();
});
Моя проблема в том, что, поскольку компонент импортирует RootStore, он создает экземпляры всех других хранилищ, что явноне эффективен.
Как лучше всего протестировать этот компонент?