chai
1
总安装量
1
周安装量
#47621
全站排名
安装命令
npx skills add https://github.com/g1joshi/agent-skills --skill chai
Agent 安装分布
mcpjam
1
claude-code
1
replit
1
junie
1
zencoder
1
Skill 文档
Chai
Chai is an assertion library. It pairs naturally with Mocha. It supports TDD (assert) and BDD (expect, should) styles.
When to Use
- With Mocha: The default pair.
- Expressive Tests: You want tests to read like English (“expect foo to be a string”).
Quick Start
import { expect } from "chai";
const foo = "bar";
const beverages = { tea: ["chai", "matcha", "oolong"] };
expect(foo).to.be.a("string");
expect(foo).to.equal("bar");
expect(foo).to.have.lengthOf(3);
expect(beverages).to.have.property("tea").with.lengthOf(3);
Core Concepts
Styles
- Assert: Classic.
assert.equal(foo, 'bar'). - Expect: BDD. Chainable.
expect(foo).to.be.equal('bar'). - Should: BDD. Extends Object prototype.
foo.should.be.equal('bar'). (Less common now due to side effects).
Plugins
Chai has a rich ecosystem.
chai-http: For API testing.chai-as-promised: For asserting promises (return expect(promise).to.eventually.equal(2)).
Best Practices (2025)
Do:
- Stick to one style: Usually Expect. It’s clean and doesn’t modify prototypes.
- Use Descriptive Chains:
to.be.truereads better thanto.equal(true).
Don’t:
- Don’t mix Assert and Expect: Confuses the reader.