Jest jest.mock функция с другим возвращаемым значением - PullRequest
0 голосов
/ 09 октября 2018

тестирование реагирует и набирает текст с шуткой и энзимом, как бы я посмеялся над этой функцией ExpectedVideo, чтобы я мог определить, возвращает ли она истинное или ложное значение, основываясь на моем тестовом сценарии scenerio

jest.mock('utils/media-utils', () => ({
  expectsVideo: () => true,
  myOtherFunctions: jest.fn()
}));

utils / media-Используется, если файл импортируется в компонент реагирования, который я тестирую.Если я пытаюсь ссылаться на объект извне, это выдает ошибку, из-за которой невозможно использовать переменные вне области видимости.Пробовал разные реализации, я сталкивался с разными блогами, но без помощи.

1 Ответ

0 голосов
/ 09 октября 2018

mockImplementation должно помочь, в то время как проверяет весь модуль :

import * as mediaUtils from 'utils/media-utils';

mock('utils/media-utils'); // automocking whole module

it('....1...', () => {
    mediaUtils.expectsVideo.mockImplementation(() => true);
});

it('....2...', () => {
    mediaUtils.expectsVideo.mockImplementation(() => false);
});

Кстати, как для ссылки на внешние переменные, которые возвращают ошибку (из раздела jest.doMock документации ):

При использовании babel-jest вызовы для имитации будут автоматически перемещаться в верхнюю часть блока кода.Используйте этот метод, если хотите явно избежать этого поведения.

Так вот почему все const и let даже не определены в момент, когда модуль подвергается моделированию.

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