A tour of the Chai assertion library
The Chai test library provides a robust set of assertions and helpers to aid the legibility and organization of tests.
Chai's own unit tests for expect
(at https://github.com/chaijs/chai/blob/master/test/expect.js) provide a great starting point from which the API can be explored. Chai conveniently uses Mocha for its test framework (configured with the TDD interface). So the entire test suite should feel very familiar.
In this section, we will use a series of assertions to introduce most of the Chai BDD APIs. The assertion examples are accumulated into a single driver file for this chapter—chapters/03/test/test-chai.html
.
Note
Chai provides aliases for many of the assertions that we will discuss in this section. For example, the deep equality assertion eql
is also available as eqls
and deep.equal
. See the Chai API documentation for a full listing of aliases.
Chaining objects and assertions
Chai's BDD interface exposes objects that can be chained together to...