Я пытаюсь создать модульные тесты в устаревшем проекте, над которым мы работаем.Конфигурация импортируется в модули, но я хотел бы посмеяться над всем этим импортом.
Настройка выглядит следующим образом:
В .eslintrc
"globals": {
"fetch": true,
"alert": true,
"Response": true,
"Headers": true,
"Request": true,
"ErrorUtils": true,
"navigator": true,
"__DEV__": true
}
Config.js
const localConf = __DEV__ ? require('~/utils/Config.local.js').default : null;
export default localConf || { //configuration here }
Я пытаюсь написать тест для класса, которыйКонфигурация импорта выглядит следующим образом:
import Config from '../../utils/Config';
class ApiClient { }
Тест:
__DEV__ = false;
jest.mock('../../../Utils/Config.Brand.js');
import ApiClient, { ApiError, ApiClientClass } from '../';
it('Dummy', () => {
return undefined;
});
Каждый раз, когда я запускаю тест, я получаю:
Cannot find module '~/utils/Config.local.js' from 'Config.js'
Что, конечно, потому что DEV , похоже, также имеет значение true для тестов.
В моем тесте я попытался установить глобальные значения. DEV , а также другие способы сделать это, я чувствую, что с этой настройкой что-то в корне не так, но я довольно новичок в React-Родной, поэтому у меня пока нет полного понимания того, что происходит.