Ложные классы и интерфейсы, полностью или частично в TypeScript - PullRequest
0 голосов
/ 02 февраля 2019

Каков наилучший способ макетировать классы и интерфейсы, полностью или частично в TypeScript?

Jest - это популярный тестовый стек с поддержкой имитации, однако, согласно , эти насмешливые одиночные методы, классы и интерфейсы не поддерживаются.

1 Ответ

0 голосов
/ 02 февраля 2019

Существует множество библиотек насмешек специально для TypeScript. Substitute.js отличный.На момент написания статьи были рассмотрены недостатки в других, в том числе:

  • Свободный API.У ts-mockito есть свободный API, но он не может имитировать интерфейсы.Это шоу-стоппер.
  • Возможность создавать частичные макеты.

Это также может быть довольно просто достигнуто с помощью шутки, как показано ниже:

ClientDefaultImpl.prototype.authorize = jest.fn().mockImplementationOnce(
            () => Promise.resolve('xxx'));
...