Могу ли я назвать каталог `__mocks__`? - PullRequest
0 голосов
/ 24 марта 2019

Когда я хочу создать файл ./a.tsx, мне нужно создать файл __mocks__/a.tsx. Но я хочу установить имя файла как ./a.mock.tsx.

Поэтому я использую этот шаблон в тестовых файлах.

jest.mock('./a', () => require('./a.mock'));

Но это довольно неудобно, так есть ли какая-либо конфигурация для этого, как snapshotResolver или testRegex? Спасибо за чтение: D

1 Ответ

1 голос
/ 24 марта 2019

Jest в настоящее время не предоставляет никакой конфигурации для шаблонов ложных регулярных выражений. Вместо этого вы можете создавать собственные автоматические фиктивные классы, как они объясняют в документации .

import AutomaticMock from './a.mock';
jest.mock('./a.mock'); 

beforeEach(() => {
    AutomaticMock.mockClear();
});

it('Create an instance of my AutomaticMock', () => {
    const mock = new AutomaticMock();
    expect(AutomaticMock).toHaveBeenCalledTimes(1);
});

it('Clear any instances of my AutomaticMock', () => {
    expect(AutomaticMock).not.toHaveBeenCalled();
});

Имейте в виду, что в момент вызова jest.mock('./a.mock') создается фиктивный экземпляр вашего класса, который заменяет все его методы на фиктивные функции, которые всегда возвращают undefined.

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