chai

📁 g1joshi/agent-skills 📅 3 days ago
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.true reads better than to.equal(true).

Don’t:

  • Don’t mix Assert and Expect: Confuses the reader.

References