Как утверждать с Jest, что все зависимости в модуле были вызваны? - PullRequest
0 голосов
/ 25 марта 2020

Я хотел бы знать, возможно ли использовать Jest, чтобы утверждать, что все зависимости внутри тестируемого модуля были вызваны, даже если jest.mock был вызван для них или нет.

Скажем, у меня есть простой модуль исходного кода, например:

async function updateFoo(fooJson) {
  const formatted = formatFoo(fooJson);

  const result = updateDb(formatted);

  return result;
}

В моем тестовом модуле я смоделировал и formatFoo, и updateDb, чтобы я мог утверждать expect(updateDb).toHaveBeenCalled(), et c.

Позже кто-то делает усовершенствование модуля, добавляя еще один вызов зависимости, скажем, Redis publi sh:

async function updateFoo(fooJson) {
  const formatted = formatFoo(fooJson);

  const result = updateDb(formatted);

  // Publish the updated foo so that other interested parties know
  redis.publish(result);

  return result;
}

Мой тест, как и прежде, должен все еще пройти, даже если в функцию была добавлена ​​совершенно новая зависимость. В целях покрытия кода я бы хотел, чтобы тест не прошел, если человек, добавивший эту строку, забыл высмеивать redis.publish и утверждать, что она была вызвана правильно. Это возможно?

...