FakeTimeProvider
Defined in: src/testing.ts:23
A clock you move by hand, so retries, timeouts and open circuits can be tested without waiting.
const time = new FakeTimeProvider();const pipeline = new ResiliencePipelineBuilder({ timeProvider: time }).addRetry({ delay: '10s' }).addTimeout('1s').build();// Attach the expectation first: the promise settles while runAll() fires timers.const done = assert.rejects(pipeline.execute(() => neverResolves()), TimeoutRejectedError);await time.runAll(); // 4 timeouts and 3 delays, instantlyawait done;Implements
Section titled “Implements”Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new FakeTimeProvider(
start?):FakeTimeProvider
Defined in: src/testing.ts:28
Parameters
Section titled “Parameters”start?
Section titled “start?”number | Date = ...
Returns
Section titled “Returns”FakeTimeProvider
Accessors
Section titled “Accessors”pendingTimers
Section titled “pendingTimers”Get Signature
Section titled “Get Signature”get pendingTimers():
number
Defined in: src/testing.ts:47
Timers scheduled and not yet fired.
Returns
Section titled “Returns”number
Methods
Section titled “Methods”advance()
Section titled “advance()”advance(
duration):Promise<void>
Defined in: src/testing.ts:52
Moves the clock forward, firing every timer that comes due, in order.
Parameters
Section titled “Parameters”duration
Section titled “duration”Returns
Section titled “Returns”Promise<void>
clearTimeout()
Section titled “clearTimeout()”clearTimeout(
handle):void
Defined in: src/testing.ts:42
Parameters
Section titled “Parameters”handle
Section titled “handle”unknown
Returns
Section titled “Returns”void
Implementation of
Section titled “Implementation of”now():
number
Defined in: src/testing.ts:32
Epoch milliseconds.
Returns
Section titled “Returns”number
Implementation of
Section titled “Implementation of”runAll()
Section titled “runAll()”runAll(
limit?):Promise<void>
Defined in: src/testing.ts:63
Fires timers until none are left (including ones scheduled while firing). Throws after limit timers to catch infinite loops.
Parameters
Section titled “Parameters”limit?
Section titled “limit?”number = 10_000
Returns
Section titled “Returns”Promise<void>
setTimeout()
Section titled “setTimeout()”setTimeout(
callback,ms):number
Defined in: src/testing.ts:36
Parameters
Section titled “Parameters”callback
Section titled “callback”() => void
number
Returns
Section titled “Returns”number