mai-chai v3.3.2
mai-chai
The chai testing framework works hand in hand with mocha. It is configured by default with following plugins:
- chai-as-promised → adds support for asserting promises and async code.
- chai-asserttype → adds support for asserting types.
- chai-equal-jsx → adds
equalJSX
andincludeJSX
assetions. - chai-spies → adds spy ability.
- chai-string → help with common string comparison assertions.
- dirty-chai → provides a function-call form for chai property getter assertions.
mai-chai
also includes configuration files which will be written into
the ./test
folder of the including project:
mocha.opts
→ registers Babel as the compiler and requires the./test/test-helper.js
file in every test.test-helper.js
→ configures the globaldocument
,window
andnavigator
objects.
And for Wallaby.js users, mai-chai
comes with a default configuration
file.
Conventions
mai-chai
follows these conventions:
./src
→ source code under test../src.test
→ source code for the tests../test
→ mocha configuration files.
Installing mai-chai
First install mai-chai
:
npm install mai-chai --save-dev
This will also install mocha
, chai
, chai-as-promised
, chai-asserttype
,
chai-equal-jsx
, chai-spies
, chai-string
and dirty-chai
.
Using mai-chai
Import expect
from mai-chai
, as you would from chai
:
import {expect} from 'mai-chai';
and then write your BDD assertions with methods rather than properties, such as:
expect (true).to.be.true ();
foo.should.be.ok ();
or use the various assertions added by chai-string and spy on methods with chai-spies.
Configuring Wallaby.js
mai-chai
provides a default Wallaby.js configuration file. If you
stick to the conventions of mai-chai
no other setup or configuration
is required. Just point Wallaby.js to wallaby.conf.js
.
Included plugins
String
assertions are provided bychai-string
.ReactElement
comparisons are provided bychai-equal-jsx
.
See also Algolia's
react-element-to-jsx-string
which is used bychai-equal-jsx
and provides the logic needed to convert aReactElement
to the corresponding JSX string.
Utility functions
clock()
→ perf, starts a high resolution timer which can be used to measure performance; it returns an opaque object.clock(perf)
→ ms, returns the number of milliseconds elapsed.
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago