Импорт модулей Jest Mock из другого файла

#javascript #reactjs #unit-testing #jestjs

#javascript #reactjs #модульное тестирование #jestjs

Вопрос:

Есть ли способ импортировать модули jest.mock из другого файла, поскольку он используется во многих тестовых файлах.

Например:

 jestMock.tsx
   jest.mock('lib1',() => {});
   jest.mock('lib2',() => {});
   jest.mock('lib3',() => {});
   and so on

Test1.spec.tsx
   import * from 'jestMock.tsx'
   //call jest mocks here

Test2.spec.tsx
   import {jestMockLib1, jestMockLib2} from 'jestMock.tsx'
   // call jestMockLib1
   // call jestMockLib2 

Спасибо.

Ответ №1:

Да, можно повторно использовать ваши насмешки. Просто оберните mocks в экспортированную функцию и вызовите эту функцию в вашем тестовом файле.

 // jestMock.tsx
export function mockSomething(){
   jest.mock('lib1',() => {});
   jest.mock('lib2',() => {});
   jest.mock('lib3',() => {});
}

// Test1.spec.tsx
import mockSomething from 'jestMock.tsx'

mockSomething()
   ...your tests