Angular jasmine单元测试框架spec的运行时数据结构
以我单元测试里这段代码为例:
通过describe函数创建一个suite,即spec的集合:
真正的spec由函数it创建:其中expectable是human readable的字符串描述信息,描述该spec具体要测试哪些东西,assertion就是具体的包含单元测试的代码。
spec内部的expect方法调用:调用env.expect:
使用spec的expectationFactory创建一个expectation:
spec变量里包含了执行通过的expectation和执行失败的expectation:
更多Jerry的原创文章,尽在:“汪子熙”:
Angular jasmine单元测试框架spec的运行时数据结构相关推荐
- Angular jasmine单元测试框架里使用it函数定义single spec
it函数接收两个参数,描述信息和包含了待测试的单元测试代码的函数: /*** Define a single spec. A spec should contain one or more {@lin ...
- Angular jasmine单元测试框架里describe的实现原理
源代码:describe函数传入的两个参数:描述信息和箭头函数: 从注释能看出,describe函数的语义:Create a group of specs (often called a suite) ...
- Angular jasmine单元测试框架TestBed.createComponent的实现原理
单元测试代码里的createComponent,是通过TestBedRender实现的: TestBedRenderer3: 获得注入的TestComponentRenderer: const res ...
- Angular jasmine单元测试框架TestBed.inject的执行原理
单步调试这段代码: TestBed用于单元测试代码里创建Component和service实例. injectionToken即传入TestBed.inject的function: 还是delegat ...
- Angular jasmine单元测试框架spied method的调用记录数据结构
基于UnknownErrorHandler的handleError方法创建一个spy 方法: 第40行调用的是spied之后的新方法: 因为调用的是Spied之后的wrapper方法,在wrapper ...
- Angular jasmine单元测试框架里expect.toHaveBeenCalled的工作原理
第120行给handler.handleError方法注入spy后,第121行代码flush HTTP Mock request会触发handler.handleError(的wrap实现)调用.第1 ...
- Angular jasmine单元测试框架fixture.detectChanges的实现原理
源代码: fixture的类型是component-fixture,里面会调用_tick方法: 具体执行的detectChange逻辑,取决于Change Detect reference: Root ...
- Angular jasmine单元测试框架里spyOn的创建原理
准备针对handler的handleError方法创建spy: 保存原始方法的信息到变量originalMetho里: 利用spyFactory.createSpy创建spied版本的新方法: wra ...
- C专家编程 第6章 运动的诗章:运行时数据结构 6.1 a.out及其传说
运动的诗章:运行时数据结构 编程语言理论的经典对立之一就是代码和数据的区别.有些语言(如Lisp)把二者视为一体.其他语言(如C语言)通常维持两者的区别.Internet蠕虫非常难以被人们所 ...
最新文章
- UITableViewCell有关处理touch事件的问题
- 如何给docker容器分配内存和cpu
- leetcode算法题--数字序列中某一位的数字
- Linux 新api eventfd(转)
- 001 FSG 1.33变形壳
- Winform中封装DevExpress的MarqueeProgressBarComtrol实现弹窗式进度条效果
- svd奇异值分解_NCL专辑 | 奇异值分解(SVD)
- jOOQ,H2和Maven入门
- c语言程序设计课件数组,数组(C语言程序设计)课件
- 【转】用Microsoft Ajax Minifier帮你的Javascript瘦身
- HDU 5090 Game with Pearls (贪心)
- 再看结构体对齐与小端联合问题
- 转:HTTP ---HTTP头的编码问题(Content-Disposition)
- linux镜像下载和vmware虚拟主机部署
- CPU和内存的电路设计09-计数器的内部电路实现
- 关于智能运维(AIOps)的学与思
- docker-compose启动hyperf项目
- 28岁程序员从字节退休:IT是改命的唯一出路吗?
- 老五苏-34:慧眼独具 比起“大哥”苏-27,苏-34的个子要高大一些。
- 天猫店群比淘宝店群好做吗?同是无货源差距为何那么大,个人分享
热门文章
- Apache OpenOffice 下载量突破一亿次
- C语言 · 黑色星期五
- 【mac开发.NET】No installed provisioning profiles match the installed iOS signing identities
- 【POI word】使用POI实现对Word的读取以及生成
- OpenTLD相关资料
- 自制Win7安装U盘!
- 图片自适应css代码(转)
- Scott Mitchell 的ASP.NET 2.0数据教程之三十八:: 处理BLL和DAL的异常
- InterlliJ Debug启动:method breakpoints may dramatically show down debugging
- 关于字符编码,你所需要知道的