Используя TestDouble и Mocha, как я могу заглушить вызов, чтобы возвращать различные значения через callback каждый раз, когда он вызывается

Документы Testdouble объясняют, что с помощью thenReturn Я могу передать список параметров, и каждый вызов будет продвигаться вниз по списку. Это не как thenCallback, thenResolve, а также thenReject однако, потому что они вызывают вызов функции, а не возврат.

Существует ли какой-либо встроенный способ или, по крайней мере, легко осуществимый способ иметь последовательность обратных вызовов для одной заглушки?

Мой пример:

td.when(getEntireJobHelper(td.matchers.anything(), td.matchers.anything()), { ignoreExtraArgs: true })
.thenResolve(mockEntireJobResponses.entireJobDataRunning3, mockEntireJobResponses.entireJobDataComplete);

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

Я знаю, что это не работает, и я работаю с обратными вызовами, а не с обещаниями... но это идея.

0 ответов

Другие вопросы по тегам