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

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

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

image.png

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:


image.png


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


image.png


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


image.png


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


image.png


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


image.png


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


image.png


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


image.png


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


image.png


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

image.png


image.pngimage.png

相关文章
|
12月前
|
JavaScript API
什么是 Angular Composable 概念
什么是 Angular Composable 概念
|
JavaScript 前端开发
关于 Angular 编程中的 shim 概念
关于 Angular 编程中的 shim 概念
|
5月前
|
前端开发 JavaScript
JavaScript 前端框架相关: React、Vue或Angular中组件化的概念是什么?
JavaScript 前端框架相关: React、Vue或Angular中组件化的概念是什么?
100 3
|
JavaScript
Angular 应用里 server.ts 文件的 APP_BASE_HREF token 的用法?
Angular 应用里 server.ts 文件的 APP_BASE_HREF token 的用法?
|
2月前
|
Java Spring
🔥JSF 与 Spring 强强联手:打造高效、灵活的 Web 应用新标杆!💪 你还不知道吗?
【8月更文挑战第31天】JavaServer Faces(JSF)与 Spring 框架是常用的 Java Web 技术。本文介绍如何整合两者,发挥各自优势,构建高效灵活的 Web 应用。首先通过 `web.xml` 和 `ContextLoaderListener` 配置 Spring 上下文,在 `applicationContext.xml` 定义 Bean。接着使用 `@Autowired` 将 Spring 管理的 Bean 注入到 JSF 管理的 Bean 中。
37 0
|
11月前
|
设计模式
Angular 依赖注入领域里 optional constructor parameters 的概念介绍
Angular 依赖注入领域里 optional constructor parameters 的概念介绍
|
存储 JavaScript 前端开发
通过单步调试的方式学习 Angular 中 TView 和 LView 的概念
通过单步调试的方式学习 Angular 中 TView 和 LView 的概念
|
12月前
|
监控 JavaScript 前端开发
Angular 应用程序的 Hydration 概念详解
Angular 应用程序的 Hydration 概念详解
|
12月前
|
UED
关于 Angular 应用里 Rxjs filter 操作符内的双重感叹号的用法
关于 Angular 应用里 Rxjs filter 操作符内的双重感叹号的用法
|
12月前
|
测试技术 开发者
关于 Angular testing 开发包里 fakeAsync 测试工具的用法
关于 Angular testing 开发包里 fakeAsync 测试工具的用法
下一篇
无影云桌面