合同个案合同测试框架



Gohsantosadrive 在弗拉蒂肯上创建的短写贴纸
读取 这里的文档。 。 。 .
ContractCase是下一代消费者驱动的合同测试框架,建筑
从保持优秀的 条约 合同测试
框架。 我们相信合同测试是获得
对您的应用程序和服务部署信心 .
欢迎反馈 gi来啊!
洞穴和限制
ContractingCase现已可用,应该为客户端和服务器驱动的 http/https 工作
合同。 对 ContractCase API / DSL 和(特别是) 命名的反馈
公约非常受欢迎。 然而,应铭记以下几点:
- ContractCase目前仅可用Javascript / Typescript和Java. 后期将加入对Python,C#和Go的支持. 目前没有计划增加其他语言.
- ContractCase目前不支持合并合同. 这意味着每项合同必须在一份测试文件中界定(每份合同).
- ContractCase目前只与Jest(js/ts)和JUnit(java)兼容.
- ContractCase目前只得到极少的经纪人支持. 它支持《公约》
经纪人,虽然契约经纪人不能签订合同 案例合同
在UI.
虽然测试覆盖率很高,而且已经非常小心地确保结果正确,但可能仍然有虫子. 遇到问题请开口.
你可以通过阅读 维护者待办事宜列表这些告诫将随着进展而更新.
我很好,所有的提醒, 我怎么开始?
如果你想马上开始 我们建议从 界定合同 文档.
npm install --save-dev @contract-case/contract-case-jest
您可能还需要开玩笑:
npm install --save-dev jest
为条约使用者
ContractingCase的理念与Contracting非常相近,使Contracting
兼容性, ContractCase 与契约经纪人合作. 我们
建议:
有一些关键区别 - ContractCase更容易扩展,可以表达
更复杂的合同,可以在服务器侧或服务器侧定义合同
客户一方(虽然总是消费者驱动的 - 你的消费者只是
可能会消耗 请求) (中文(简体) ).
见 为条约用户服务 以便进行更多的讨论.
路线图
- 契约均等(完成)
- 服务器驱动合同(完成)
- 插件和任意扩展( 完成)
- 支持 java( 完成)
- 基于职能的支助合同(完成)
- 文件(正在编写)
- gRPC 匹配器
- 支持 Python, C# 和 Go 键
- 任意组合请求/答复对等,附带包括本地SQS支持
- 通过 API
关于行进图的 gory 细节, 您可以看到执行笔记本 / 待办事宜列表 这里
释放
合同 语义版本,附加两项限制:
- 在 1.0.0以前,ContractCase在Beta,API被认为不稳定. 间断变化将用小字表示
即0.2.0和0.3.0不完全兼容.
- 在 1.0.0 之前,补丁版本将总是后向相容.
断裂变化将永远在 更改日志。 。 。 .
关于 @contract-case/contract-case-jest 的常见问题
@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 和提交记录判断。