Задать вопрос
@Dasslier
FrontEnd Developer

Как тестировать компонент с локальным стором MobX?

Есть компонент класс, в его конструкторе инициализируется локальный store MobX вот так:
constructor(props) {
        super(props);
        this.store = new SubscribeStore({
            userId: this.props.userId,
            type: this.props.isFollowers ? 'followers' : 'subscriptions'
        });
    }


В итоге стор лежит в this и при написании тестов не могу найти способ им управлять.
Есть вариант вынести этот стор в глобальное пространство и прокидывать через Provider, но не хотелось бы засорять глобальное пространство. Кто сталкивался с таким?
Для тестов использую Jest и Enzyme
  • Вопрос задан
  • 360 просмотров
Подписаться 2 Средний 10 комментариев
Ответ пользователя camelCaseVlad К ответам на вопрос (2)
@camelCaseVlad
Вот вам иной концепт при тестировании. Тестируйте функциональность компонента, а не строки и функции компонента. Тем более ошибочно выносить приватные функции в глобальное пространство.

Пишите свои тесты так, чтобы они не фейлелись, если вы далее перепишите свое приложение, убрав из него мобх и переписав компоненты на хуки, но оставив прежний функционал компонента.

Даже юнит тесты пишите для юзера. Юзеру все равно, вы использовали компонент с мобх или хуки и контекст.
Ответ написан
Комментировать