Promise Testing
A testing library for then-able promises.
- Implementation independent. Should work with any Promise/A+ conformant library. (Test suite runs against Q and When).
- Runs in Node or directly in the browser.
- Support for NPM and Component package managers.
- Test/Assertion framework agnostic. Support for Mocha and Chai built in.
Quick Start
See the example;
Usage
Create a new test engine.
Node.js or Component
var PromiseTesting = ;var engine = ;
In the browser (included via script tag)
var engine = ;
Add Chai Support.
If you are using any chai extensions (i.e. SinonChai) before calling the scanChai method.
engine;
Wrap Promises or Patch Methods.
Promises need to be wrapped by a wrapper object for testing.
var rawPromise = someService;var wrappedPromise = engine;
Functions that always return promises can be patched
for convenience
engine;//all calls to the patched function now return a wrappedPromisevar wrappedPromise1 = someService;var wrappedPromise2 = someService;
Expectations
You can now use chai expectations just like you normally would, however they won't be run until the promise completes.
wrappedPromisethenexpectresulttothen;
is equivalent to
promise;