什么是assertion methods?AVAJS学习中assertion相关问题咨询
断言(assertion methods)概念说明
断言是测试框架中用来验证代码执行结果是否符合预期的专用方法,你提到的AVA里的t.is()、t.true()、t.false()这些都属于断言方法。简单来说就是你先预设一个正确结果,用断言方法把「实际运行得到的结果」和「你预设的预期结果」做对比,匹配就代表这条测试通过,不匹配就直接判定测试失败,同时输出差异信息。
实际作用
- 降低测试代码编写成本:不用自己写大量if判断、日志打印来校验结果,直接调用封装好的断言方法即可
- 快速定位问题:断言失败时会直接返回预期值、实际值的差异内容,不用逐行排查就能知道哪里的逻辑不符合预期
- 保障迭代稳定性:功能迭代、重构代码后跑全量测试用例,所有断言都通过就说明原有逻辑没有被新增代码破坏
- 提升测试用例可读性:断言方法大多是语义化命名,比如
t.deepEqual()一看就知道是要做对象/数组的深度对比,其他开发者看测试用例的时候能快速理解你要验证的逻辑
学习建议
可以先从常用的几类断言入手,跟着写几个简单的测试用例练手:
- 先写个简单的工具函数,比如加法函数、数组去重函数
- 分别用相等断言、布尔值断言、深度对比断言去验证函数的输出结果,故意写错预期值看报错提示,熟悉不同断言的使用场景
- 等基础的用熟了再去了解异常断言、正则匹配断言等进阶用法就行
内容的提问来源于stack exchange,提问作者jialeee17
相关产品推荐
相关产品推荐

