Имитация создания экземпляра класса с помощью другого класса

#typescript #jestjs

#машинописный текст #jestjs

Вопрос:

Я уверен, что просмотрел ответ, который решил бы мою проблему, но я не могу найти ничего, что помогло бы мне высмеять класс, который создается. Рассмотрим следующий код

 import { container } from '../db/some-config'; import DaoClass from '../db/some-db-dao';  const dao = new DaoClass(container)  export function getAllThings() {  return dao.getAll(); }  export function getThingById(id: string) {  return dao.getById(id); }  

Как я могу издеваться над экземпляром new DaoClass(container) MockDao класса, который у нас есть?

В настоящее время у меня jest.mock('../db/some-config', jest.fn()); есть то, что обрабатывает насмешки над container импортом. Однако, когда я пытаюсь поиздеваться над созданием макета, я делаю следующее:

 jest.mock('../db/db-dao', jest.fn().mockImplementation(() =gt; {  return new MockDao() }));  

Я получаю сообщение об ошибке, в котором говорится: «Не удается прочитать свойство ‘контейнер’ неопределенной строки: const dao = new DBDao(marketSegmentContainer)

Я думаю, что это довольно простой вопрос, и я просто что-то упускаю. Заранее спасибо.