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。有任何建議或發現錯誤嗎?Fork 此專案以幫助讓 Chai 變得更好。甚至此文件網站也是開放原始碼,可供貢獻。