describe: 定义一个test spec group,用来包裹多个specs,也称为suite:

describe的第二个参数是一个函数,待测试的spec,即测试逻辑,就写在该函数里。

/*** Create a group of specs (often called a suite).** Calls to `describe` can be nested within other calls to compose your suite as a tree.* @name describe* @since 1.3.0* @function* @global* @param {String} description Textual description of the group* @param {Function} specDefinitions Function for Jasmine to invoke that will define inner suites and specs*/

先执行describe,再执行beforeEach:

然后执行describe内层嵌套的describe:

这里能看出,describe定义的单个spec,其函数会立即执行:

it函数定义了一个test spec,里面必须包含expectation等测试元素。这里的it不是某个概念的缩写,而只是一个代词。

然后执行beforeEach,这是一个异步调用。从调用栈很难能够分辨出这个beforeEach具体是被谁调用的:

StoreModule.forRoot返回一个组装好的NgModule结构:

StoreModule.forFeature: 接受的输入参数为字符串feature和其他module export的getReducers:

store实例通过TestBed.inject注入好之后,在其私有字段_value里,立即能看到里面处于initial状态的state:

此时从依赖注入器injector里可以直接拿到record了,奇怪:

更多Jerry的原创文章,尽在:“汪子熙”:

Angular Jasmine 里一些常用概念学习笔记 - describe, it, beforeEach的用法相关推荐

  1. Angular 项目里 angular.json 文件内容的学习笔记

    看一个基于 Angular 的 SAP Spartacus 项目里 angular.json 的例子: version: The configuration-file version. newProj ...

  2. 操作系统概念学习笔记 4 操作系统结构和操作简述

    操作系统概念学习笔记 4 操作系统结构和操作简述 操作系统结构 多道程序设计 多道程序设计指的是允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法.也就是说,计算机内存中可以同时存放多道 ...

  3. 操作系统概念学习笔记 11 进程同步(一)

    操作系统概念学习笔记 11 进程同步(一) 互相协作的进程之间有共享的数据,于是这里就有一个并发情况下,如何确保有序操作这些数据.维护一致性的问题,即进程同步. 从底层到高级应用,同步机制依次有临界区 ...

  4. 操作系统概念学习笔记 16 内存管理(二) 段页

    操作系统概念学习笔记 16 内存管理 (二) 分页(paging) 分页(paging)内存管理方案允许进程的物理地址空间可以使非连续的.分页避免了将不同大小的内存块匹配到交换空间上(前面叙述的内存管 ...

  5. layu常用知识点笔记

    layu常用知识点笔记 layui帮助文档 1.上传图片 2.loading 3.时间格式化 4.layui值判断 5.组件内容回显 1)固定下拉项的选中实现 2)下拉框内容动态获取或回显实现思路 3 ...

  6. Vue 2.x 常用知识点笔记(万字笔记)

    Vue 2.x 笔记 常用知识点笔记,有错误欢迎指点哦~ 字数超过了一万字,得细品 目录 Vue 2.x 笔记 1.新建Vue实例 2.阻止生成生产提示 3.模板语法 3.1 插值语法 3.2 指令语 ...

  7. 【方向盘】达到Linux第三阶段的常用命令笔记记录---Part Ⅱ

    实现自己既定的目标,必须能耐得住寂寞单干 本文已被https://yourbatman.cn收录:女娲Knife-Initializr工程可公开访问啦:程序员专用网盘https://wangpan.y ...

  8. Node.js Git Server搭建及Git常用操作笔记

    Node.js Git Server搭建及Git常用操作笔记 安装Git工具即可在本地进行Git仓库的管理,如果要实现远程仓库则需要搭建Git Server.通过Node.js搭建Git Server ...

  9. php oracle创建临时表,Oracle常用命令笔记

    Oracle常用命令笔记 客户端用的pl/sql工具 ORACLE的重启命令 (1) 以系统管理员登录,命令:connect / as sysdba (2) 启动数据库,命令:startup (3) ...

最新文章

  1. 《Maven 实战》笔记之setting.xml介绍
  2. java 启动某个类_java – Spring Boot – 如何指定备用启动类? (多个入口点)
  3. 插入u盘计算机未响应,win7系统插入u盘死机怎么办|win7插入u盘无响应的解决方法...
  4. 中国·北京创新创业大赛季(2020)参赛企业注册报名操作指南
  5. 斯坦德机器人收购_斯坦德机器人合伙人兼CMO王茂林:人是公司发展根本,多数企业都死于合伙人...
  6. Should i Backup all my domain controllers
  7. 【Python面试】 说说Python可变与不可变数据类型?
  8. windows bat脚本实现快速配置JDK 环境变量
  9. C#中索引器的简单使用
  10. 怎么修照片多余的部分_眉毛不会画怎么办?眉笔眉粉染眉膏到底怎么选?看完就会了...
  11. 【三维装箱】基于matlab粒子群算法求解三维装箱优化问题【含Matlab源码 950期】
  12. HDU today(最短路径)
  13. vb.NET 关于进度条控件使用
  14. STM32采集电流互感器(电流互感器模块)数据
  15. 【学术分享】40个科研学术网站,收藏必备,予取予求!
  16. 快牙网传——轻松发文字
  17. [置顶] 跳槽前夕的三年总结
  18. 支付宝20积分兑换15天会员
  19. 那个叫“中国移动”的精神病人就要被治愈了
  20. yui2 datatable转换至yui3

热门文章

  1. 2.5 隐藏委托关系
  2. Android 自己定义View须要重写ondraw()等方法
  3. Lua require 相对路径
  4. metaq发送和接收消息demo
  5. 4.18、Bootstrap V4自学之路-----内容---滚动监听
  6. iOS_9_scrollView分页
  7. ExtJS MVC学习手记 1
  8. ruby:理解Symbol的二篇好文章
  9. 修改Sublime Text3左侧导航字号大小及行高
  10. 【BZOJ2004】公交线路(动态规划,状态压缩,矩阵快速幂)