21、JavaScript代码的契约驱动测试

JavaScript代码的契约驱动测试

1. 契约概述

契约语言的主要设计目标是让程序员轻松指定接口。与契约设计方法相比,这些契约具有双重作用:既可以作为可检查的断言附加到JavaScript值上(契约监控),又可以作为这些值和函数的测试用例生成器。

1.1 原始契约

原始契约类似于静态类型系统语言(如Java、C、C++)中使用的类型,大致对应于JavaScript中可用的类型,其解释是严格的,不包括JavaScript类型转换的应用。
| 契约类型 | 描述 | 示例 |
| ---- | ---- | ---- |
| bool | 仅接受true和false值 | |
| int | 接受任何整数值 | |
| number | 接受除NaN之外的任何数字 | |
| 单例契约 | 仅接受单个值,通过编写相应的文字值指定 | 如指定某个具体的整数、浮点数、字符串或布尔值 |
| 区间契约 | 支持整数和浮点数区间,语法为[i;i]或[f;f] | [0;1.0]表示0到1的浮点数区间(包含0和1) |

在某些情况下,可能需要在应用类型转换后检查结果的契约,但语法未提供此类单例契约,可手动定义。原始契约形式 js:ident 允许程序员直接在JavaScript中编写适当的定义来创建自己的契约,JSConTest通过提供各种实用函数支持此类手写契约的构建。

1.2 复合契约

复合契约通过不同方式组合原始契约构建而成。
- 丰富契约 :为契约的测试用例生成添加特定

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值