шутить насмешливый конструктор и получить экземпляр объекта - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь смоделировать стандартный объект aws -sdk s3 (конструктор класса, используя new), используя следующее в моем тестовом файле.

import s3 from 'aws-sdk/clients/s3';

jest.mock('aws-sdk/clients/s3', () => {
  return jest.fn().mockImplementation(() => {
    return {
      headObject: jest.fn().mockImplementation(() => {
        return {
          promise: () => {
            return {
              Metadata: {
                 id: '1'
              }
            };
          }
        };
      })
    };
  });
});

Теперь мне нужно получить доступ к этому объекту, созданному любыми клиентами, и затем проверить вызов headObject, как мне это сделать в моем тестовом файле?

Я пытался используя new s3(), но я получаю доступ к совершенно новому объекту, а не к тому, который использовали клиенты (тестируемый файл)

Файл, который я пытаюсь проверить, делает что-то вроде new s3().head()

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