0.1.1 • Published 8 years ago
testdouble-timers v0.1.1
testdouble-timers
Fake timers API for testdouble.js.
Install
npm install --save-dev testdouble-timersUsage
import td from 'testdouble';
import timers from 'testdouble-timers';
// Install fake timers API to testdouble
timers.use(td);
describe('important scenario', () => {
afterEach(() => {
// Recommended way to restore replaced methods.
td.reset();
});
it('does something later', () => {
// Replace global timers
const clock = td.timers();
obj.doLater(500);
assert(typeof obj.result === 'undefined');
// Forward 510 msec
clock.tick(510);
assert(obj.result === 'hello');
// No need to call clock.restore() here
});
});API
testdouble-timers has Sinon.JS compatible API.
td.timers(now)
td.timers(method1, method2, ...)
td.timers(now, method1, method2, ...)
Creates a new clock and replaces all methods if you call without any parameters.
now should be Date object or milliseconds since UNIX epoch.
method1, method2, ... are method names you want to replace. Here is a list of method names you can specify.
List of available method names
setTimeoutclearTimeoutsetImmediateclearImmediatesetIntervalclearIntervalDate
clock.tick(duration)
Forwards the clock duration milliseconds.
clock.restore()
Restores replaced methods manually.
NOTE: In most cases, you don't need to use this method. Please use td.reset() like the usage as written above.
Development
Run test
npm testAcknowledgment
The API and arguments handling are written based on Sinon.JS.
Changelog
See the Releases page on GitHub.
License
MIT
Author
Yuki Kodama / @kuy