Что происходит в этом тесте-шутке? - PullRequest
0 голосов
/ 07 мая 2020

В foo.test.ts

Я вижу:

import { mocked } from 'ts-jest/utils';
import { BarService } from '@services';
jest.mock('@services');

// describe, etc., etc.
beforeEach(() => {
    mocked(BarService, true).mockClear();
  });

const mockBarService = mocked(BarService, true).mock.instances[0];
// expect, etc., etc.

@ services определяется в tsconfig как путь, например "@services": ["core/services"]

Мне это кажется говорит ...

  1. импортировать эти 2 вещи
  2. имитировать все внутри core/services каталог
  3. перед каждым запуском этого тестового сброса (в некотором роде .. . Может быть, восстановить?) BarService
  4. создает переменную, которая является фиктивной версией BarService (но разве она еще не издевалась? Не могу ли я просто вызвать BarService прямо сейчас, поскольку он кажется, раньше насмехались над ним?)

Полагаю, бит в const mockBarService = mocked(BarService, true).mock.instances[0]; мне кажется ненужным? Но я не уверен. Я также не нахожу никакой информации в шутливых документах о передаче каталога (а не файла) в mock, поэтому я не понимаю, что происходит. Кто-нибудь хочет объяснить?

...