Как я могу протестировать с помощью jest if branch, если значение условия зависит от sessionStorage - PullRequest
0 голосов
/ 04 августа 2020

У меня есть этот код для тестирования:

selectTab() {
    const tab = localStorage.getItem('moduleTab');
    if (tab != null) {
        this.querySelector('core-tabs').active = {key: 'id', value: tab};
        this.renderTabs(tab);
    } else {
        this.querySelector('core-tabs').active = {
            key: 'id',
            value: 'modules',
        };
        this.renderTabs('modules');
    }
}

Это результат теста:

введите описание изображения здесь

Я могу протестировать только ветку else, как проверить ветвь if?

1 Ответ

0 голосов
/ 04 августа 2020

Чтобы протестировать ветку if, вам нужно, чтобы табуляция была равна нулю. Для этого вам нужно очистить хранилище приложения, которое очистит ваше sessionStorage, и тогда ваш sessionStorage.getItem ('moduleTab') будет иметь значение null. (Я полагаю, вы нигде не добавляете moduleTab).

В противном случае вы можете изменить строку const tab = window.sessionStorage.getItem ('moduleTab'); to const tab = null;

Затем вы проверите ветку if

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...