Используя TestDouble и Mocha, как я могу заглушить вызов, чтобы возвращать различные значения через callback каждый раз, когда он вызывается
Документы Testdouble объясняют, что с помощью thenReturn
Я могу передать список параметров, и каждый вызов будет продвигаться вниз по списку. Это не как thenCallback
, thenResolve
, а также thenReject
однако, потому что они вызывают вызов функции, а не возврат.
Существует ли какой-либо встроенный способ или, по крайней мере, легко осуществимый способ иметь последовательность обратных вызовов для одной заглушки?
Мой пример:
td.when(getEntireJobHelper(td.matchers.anything(), td.matchers.anything()), { ignoreExtraArgs: true })
.thenResolve(mockEntireJobResponses.entireJobDataRunning3, mockEntireJobResponses.entireJobDataComplete);
Два вызова к методу метода имеют идентичные входные данные между прочим, так что даже использование более конкретной заглушки не решит проблему.
Я знаю, что это не работает, и я работаю с обратными вызовами, а не с обещаниями... но это идея.