Я хотел бы знать, возможно ли использовать 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
и утверждать, что она была вызвана правильно. Это возможно?