百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
C

chai

> 编程语言
开源

用于 Node.js 和浏览器的 BDD/TDD 断言框架,可与任何测试框架配对使用。

8.3K stars0 点赞2 次浏览
访问官网GitHub

工具介绍

用于 Node.js 和浏览器的 BDD/TDD 断言框架,可与任何测试框架配对使用。


chai

Chai is a BDD / TDD assertion library for node and the browser that can be delightfully paired with any javascript testing framework.


For more information or to download plugins, view the [documentation](http://chaijs.com). ## What is Chai? Chai is an _assertion library_, similar to Node's built-in `assert`. It makes testing much easier by giving you lots of assertions you can run against your code. ## Installation ### Node.js `chai` is available on [npm](http://npmjs.org). To install it, type: $ npm install --save-dev chai ### Browsers You can also use it within the browser; install via npm and use the `index.js` file found within the download. For example: ```html ``` ## Usage Import the library in your code, and then pick one of the styles you'd like to use - either `assert`, `expect` or `should`: ```js import { assert } from 'chai'; // Using Assert style import { expect } from 'chai'; // Using Expect style import { should } from 'chai'; // Using Should style ``` ### Register the chai testing style globally ```js import 'chai/register-assert'; // Using Assert style import 'chai/register-expect'; // Using Expect style import 'chai/register-should'; // Using Should style ``` ### Import assertion styles as local variables ```js import { assert } from 'chai'; // Using Assert style import { expect } from 'chai'; // Using Expect style import { should } from 'chai'; // Using Should style should(); // Modifies `Object.prototype` import { expect, use } from 'chai'; // Creates local variables `expect` and `use`; useful for plugin use ``` ### Usage with Mocha ```bash mocha spec.js --require chai/register-assert.js # Using Assert style mocha spec.js --require chai/register-expect.js # Using Expect style mocha spec.js --require chai/register-should.js # Using Should style ``` [Read more about these styles in our docs](http://chaijs.com/guide/styles/). ## Plugins Chai offers a robust Plugin architecture for extending Chai's assertions and interfaces. - Need a plugin? View the [official plugin list](http://chaijs.com/plugins). - Want to build a plugin? Read the [plugin api documentation](http://chaijs.com/guide/plugins/). - Have a plugin and want it listed? Simply add the following keywords to your package.json: - `chai-plugin` - `browser` if your plugin works in the browser as well as Node.js - `browser-only` if your plugin does not work with Node.js ### Related Projects - [chaijs / chai-docs](https://github.com/chaijs/chai-docs): The chaijs.com website source code. - [chaijs / assertion-error](https://github.com/chaijs/assertion-error): Custom `Error` constructor thrown upon an assertion failing. - [chaijs / deep-eql](https://github.com/chaijs/deep-eql): Improved deep equality testing for Node.js and the browser. - [chaijs / check-error](https://github.com/chaijs/check-error): Error comparison and information related utility for Node.js and the browser. - [chaijs / loupe](https://github.com/chaijs/loupe): Inspect utility for Node.js and browsers. - [chaijs / pathval](https://github.com/chaijs/pathval): Object value retrieval given a string path. ### Contributing Thank you very much for considering to contribute! Please make sure you follow our [Code Of Conduct](https://github.com/chaijs/chai/blob/master/CODE_OF_CONDUCT.md) and we also strongly recommend reading our [Contributing Guide](https://github.com/chaijs/chai/blob/master/CONTRIBUTING.md). Here are a few issues other contributors frequently ran into when opening pull requests: - Please do not commit changes to the `chai.js` build. We do it once per release. - Before pushing your commits, please make sure you [rebase](https://github.com/chaijs/chai/blob/master/CONTRIBUTING.md#pull-requests) them. ### Contributors Please see the full [Contributors Graph](https://github.com/chaijs/chai/graphs/contributors) for our list of contributors. ### Core Contributors Feel free to reach out to any of the core contributors with your questions or concerns. We will do our best to respond in a timely manner. ### Core Contributor Alumni This project would not be what it is without the contributions from our prior core contributors, for whom we are forever grateful:

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

JavaScriptassertionsbddchaijavascript

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言