# @contract-case/contract-case-jest 中文文档

规范地址：https://npmcn.com/package/%40contract-case/contract-case-jest/

版本：0\.31\.4
npm 元数据更新时间：2026-10-08T13:09:50.338Z
中文译文更新时间：2026-11-10T17:05:30.068Z
软件包许可：BSD-3-Clause

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40contract-case/contract-case-jest
原文对照：https://npmcn.com/package/%40contract-case/contract-case-jest/?lang=original
项目主页：https://case.contract-testing.io/
源码仓库：https://github.com/case-contract-testing/case

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：142 kB，28 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.0\.0
- 运行依赖：3 个
- peer 依赖：jest ^29\.4\.3 \|\| ^30\.0\.0
- 首次发布：2023-05-03T05:14:43.890Z
- 最新版本发布：2026-10-08T13:09:49.838Z
- 近 30 天下载量：1234621（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：56（近 12 个月 13 个）

## 中文简介

Jest 个案合同测试套件

## 安装

```sh
npm install @contract-case/contract-case-jest
```

也可以使用：`pnpm add @contract-case/contract-case-jest`、`yarn add @contract-case/contract-case-jest`、`bun add @contract-case/contract-case-jest`

## README

# 合同个案合同测试框架

[![Build and test](https://github.com/case-contract-testing/contract-case/actions/workflows/build-and-test.yml/badge.svg?branch=main)](https://github.com/case-contract-testing/contract-case/actions/workflows/build-and-test.yml) [![Coverage Status](https://coveralls.io/repos/github/case-contract-testing/contract-case/badge.svg?branch=main)](https://coveralls.io/github/case-contract-testing/contract-case?branch=main) [![Known Vulnerabilities](https://snyk.io/test/github/case-contract-testing/contract-case/badge.svg?targetFile=packages/contract-case-jest/package.json)](https://snyk.io/test/github/case-contract-testing/contract-case?targetFile=packages/contract-case-jest/package.json)

[![npm](https://img.shields.io/npm/v/@contract-case/contract-case-jest.svg)](https://www.npmjs.com/package/@contract-case/contract-case-jest)

![Case](https://github.com/case-contract-testing/contract-case/raw/main/docs/suitcase.png)

[Gohsantosadrive 在弗拉蒂肯上创建的短写贴纸](https://www.flaticon.com/free-stickers/law)

读取 [这里的文档](https://case.contract-testing.io/docs/intro/)。 。 。 .

ContractCase是下一代消费者驱动的合同测试框架,建筑 从保持优秀的 [条约](https://npmcn.com/package/%40contract-case/contract-case-jest/pact.io) 合同测试 框架。 我们相信合同测试是获得 对您的应用程序和服务部署信心 .

欢迎反馈 [gi](https://github.com/case-contract-testing/contract-case)来啊!

## 洞穴和限制

ContractingCase现已可用,应该为客户端和服务器驱动的 http/https 工作 合同。 对 ContractCase API / DSL 和(特别是) 命名的反馈 公约非常受欢迎。 然而,应铭记以下几点:

1.  ContractCase目前仅可用Javascript / Typescript和Java. 后期将加入对Python,C#和Go的支持. 目前没有计划增加其他语言.
2.  ContractCase目前不支持合并合同. 这意味着每项合同必须在一份测试文件中界定(每份合同).
3.  ContractCase目前只与Jest(js/ts)和JUnit(java)兼容.
4.  ContractCase目前只得到极少的经纪人支持. 它支持《公约》 经纪人,虽然契约经纪人不能签订合同 案例合同 在UI.

虽然测试覆盖率很高,而且已经非常小心地确保结果正确,但可能仍然有虫子. 遇到问题请开口.

你可以通过阅读 [维护者待办事宜列表](https://npmcn.com/package/%40contract-case/contract-case-jest/docs/maintainers/todo.md)这些告诫将随着进展而更新.

### 我很好,所有的提醒, 我怎么开始?

如果你想马上开始 我们建议从 [界定合同](https://case.contract-testing.io/docs/defining-contracts/) 文档.

```
npm install --save-dev @contract-case/contract-case-jest
```

您可能还需要开玩笑:

```
npm install --save-dev jest
```

## 为条约使用者

ContractingCase的理念与Contracting非常相近,使Contracting 兼容性, ContractCase 与契约经纪人合作. 我们 建议:

-   这个 [契约经纪人](https://github.com/pact-foundation/pact_broker) 用户想要托管自己的破损
-   伟大的 [契约流经纪人](https://pactflow.io/) 对需要SaaS和企业特色的

有一些关键区别 - ContractCase更容易扩展,可以表达 更复杂的合同,可以在服务器侧或服务器侧定义合同 客户一方(虽然总是消费者驱动的 - 你的消费者只是 可能会消耗 _请求_) (中文(简体) ). 见 [为条约用户服务](https://case.contract-testing.io/docs/Alternatives/differences-to-pact) 以便进行更多的讨论.

## 路线图

1.  契约均等(完成)
2.  服务器驱动合同(完成)
3.  插件和任意扩展( 完成)
4.  支持 java( 完成)
5.  基于职能的支助合同(完成)
6.  文件(正在编写)
7.  gRPC 匹配器
8.  支持 Python, C# 和 Go 键
9.  任意组合请求/答复对等,附带包括本地SQS支持
10.  通过 API

关于行进图的 gory 细节, 您可以看到执行笔记本 / 待办事宜列表 [这里](https://npmcn.com/package/%40contract-case/contract-case-jest/docs/maintainers/todo.md)

## 释放

合同 [语义版本](https://semver.org/),附加两项限制:

1.  在 1.0.0以前,ContractCase在Beta,API被认为不稳定. 间断变化将用小字表示 即0.2.0和0.3.0不完全兼容.
2.  在 1.0.0 之前,补丁版本将总是后向相容.

断裂变化将永远在 [更改日志](https://npmcn.com/package/%40contract-case/contract-case-jest/CHANGELOG.md)。 。 。 .

## 常见问题

### @contract-case/contract-case-jest 是什么？

Jest 个案合同测试套件

### 如何安装 @contract-case/contract-case-jest？

在项目目录运行 npm install @contract-case/contract-case-jest，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：jest（^29\.4\.3 \|\| ^30\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。它还提供命令行工具 ContractCase，可以用 npx ContractCase 直接运行。

### @contract-case/contract-case-jest 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @contract-case/contract-case-jest 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @contract-case/contract-case-jest 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @contract-case/contract-case-jest 可以商用吗？

@contract-case/contract-case-jest 使用 BSD-3-Clause 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。另外不得用原作者名义为衍生产品背书。以上为概括，不构成法律意见，请以许可原文为准。

### @contract-case/contract-case-jest 的下载量有多少？

根据 npm 官方下载统计，@contract-case/contract-case-jest 在 2026/10/11 – 2026/11/09 这 30 天内被下载 1,234,621 次，日均约 41,154 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @contract-case/contract-case-jest 还在维护吗？

最新版本 0\.31\.4 发布于 2026/10/08（1 个月前）；至今共发布 56 个版本，其中过去 12 个月发布了 13 个；首次发布于 2023/05/03。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

