Because testdouble.js, even as a focused test double API, is quite large, we encourage users in the community to consider implementing features as plugins that decorate additional functionality on and around testdouble.js.
If you have an idea for a feature you’d like to see, please open an issue to start a discussion on the best place for that feature to live (in the core library or as a plugin).
As discussed elsewhere, testdouble.js is written to be test-library-agnostic. In
order to use the library in your test suite, you don’t need a custom plugin for
your preferred testing framework. However, it may be the case that you’d prefer
to bridge the verify()
method of testdouble.js with your preferred assertion
API for aesthetic or error-handling reasons.
These plugins developed by ourselves & the community:
expect
matchers (by @BrianGenisio)Some testing frameworks have built-in module replacement systems for injecting
fakes into your tests. Depending on the framework and your configuration,
you may need a plugin to use replace()
/ replaceEsm()
in your tests:
Sometimes, it can be handy to have a ready-made shim to pull in and configure the library for various build tools. Here’s what testdouble.js has so far:
One popular feature of Sinon.js is its fake timer API, which can be used to synchronously test code that should defer execution for a certain amount of time (for instance, when testing that a component debounces user input).
This API has been ported for use with testdouble.js by @kuy as testdouble-timers.
Previous: Debugging with testdouble.js Next: Frequently Asked Questions