当前位置:首页 > 技术分享 > 前端开发 > 正文内容

Angular单元测试系列-Matchers

沐萱草2年前 (2022-08-22)前端开发1810

cb0daf9b098340fd1d959c2f1fc68e1a.jpeg

断言匹配操作,在实际值与期望值之间进行比较,并将结果通知Jasmine,最终Jasmine会判断此 Spec 成功还是失败。

Jasmine 提供非常丰富的API,一些常用的Matchers:

  • toBe() 等同 ===

  • toNotBe() 等同 !==

  • toBeDefined() 等同 !== undefined

  • toBeUndefined() 等同 === undefined

  • toBeNull() 等同 === null

  • toBeTruthy() 等同 !!obj

  • toBeFalsy() 等同 !obj

  • toBeLessThan() 等同 <

  • toBeGreaterThan() 等同 >

  • toEqual() 相当于 ==

  • toNotEqual() 相当于 !=

  • toContain() 相当于 indexOf

  • toBeCloseTo() 数值比较时定义精度,先四舍五入后再比较。

  • toHaveBeenCalled() 检查function是否被调用过

  • toHaveBeenCalledWith() 检查传入参数是否被作为参数调用过

  • toMatch() 等同 new RegExp().test()

  • toNotMatch() 等同 !new RegExp().test()

  • toThrow() 检查function是否会抛出一个错误


版权声明:本文由沐萱草的笔记发布,如需转载请注明出处。

本文链接:https://mxcst.com/?id=4

“Angular单元测试系列-Matchers” 的相关文章

Error: No value accessor for form control with name: 'xxx'

Error: No value accessor for form control with name: 'xxx'

在Angular的表单开发中,经常会遇到错误 ‘Error: No value accessor for form control with name: 'xxx'’.一般在自定义表单上加上‘ngDefaultControl’ 即可解决。例子:<input ngDefault...

nodejs更改全局依赖安装路径

nodejs更改全局依赖安装路径

更改全局安装路径: npm config set prefix "你设置的文件夹路径" 更改缓存路径: npm config set cache "你设置的文件夹路径"...

ant design pro 用 request 封装 axios 后 get 方法请求接口设置了headers[‘Content-Type‘]不起作用的问题

ant design pro 用 request 封装 axios 后 get 方法请求接口设置了headers[‘Content-Type‘]不起作用的问题

在axios封装请求方法中设置了请求头,request headers中没有出现service.interceptors.request.use(     config => {     &...

modules[moduleId] is undefined error

modules[moduleId] is undefined error

modules[moduleId] is undefined error应该是webpack的一个bug, 具体修复可以修改配置,使用:optimization: { concatenateModules: false, providedExports:&nb...

Angular国际化,懒加载,动态添加Base

Angular国际化,懒加载,动态添加Base

Angular做了国际化之后会生成不同语言的目录,加上在js文件是上传到后台项目中,通过域名加载js,js文件路径比较深,但js的加载是默认从根目录开始。所以懒加载模块的时候总是报404错。经过查阅资料发现可以在模块加载前动态添加一个<base> tag,模块加载完成后再移除。impor...