Should
chai.should();
foo.should.be.a('string');
foo.should.equal('bar');
foo.should.have.lengthOf(3);
tea.should.have.property('flavors')
.with.lengthOf(3);
Expect
var expect = chai.expect;
expect(foo).to.be.a('string');
expect(foo).to.equal('bar');
expect(foo).to.have.lengthOf(3);
expect(tea).to.have.property('flavors')
.with.lengthOf(3);
Assert
var assert = chai.assert;
assert.typeOf(foo, 'string');
assert.equal(foo, 'bar');
assert.lengthOf(foo, 3)
assert.property(tea, 'flavors');
assert.lengthOf(tea.flavors, 3);
プラグインは、ベンダー統合やオブジェクトの構築などの新しいコンテキストにChaiのアサーションを拡張します。開発者は独自のプラグインを構築してコミュニティと共有したり、プラグインパターンを使用して既存のテストをDRYにしたりできます。
chai-webdriver
おすすめのプラグイン
chaiとselenium-webdriverを使用して、表現力豊かな統合テストを作成します。
chai.use(chaiWebdriver(driver));
driver.get('http://chaijs.com/');
expect('nav h1').dom.to.contain.text('Chai');
expect('#node .button').dom.to.have.style('float', 'left');
オープンソースの活用
ChaiはGitHubでホストされています。提案がありますか?バグを見つけましたか?Chaiをさらに改善するためにこのプロジェクトをフォークしてください。このドキュメントサイトでさえオープンソースで、貢献が可能です。
コミュニティに参加
Googleグループで利用可能なアクティブなメーリングリストがあります。または、freenode IRC #chaijs
チャンネルにいつでもアクセスして支援を受けます。