×
思维导图备注
Rangle's Angular 2 Training Book中文版
首页
下载
阅读记录
书签管理
我的书签
添加书签
移除书签
重构难以测试的代码
浏览
987
扫码
分享
2020-01-05 22:58:29
重构难以测试的代码
重构难以测试的代码
当你开始编写单元测试时,你可能会发现很多代码很难测试。 最好的策略通常是重构代码,使其易于测试。 例如,考虑将组件代码重构到服务中,并专注于服务测试,反之亦然。
上一篇:
下一篇:
简介
License
Why Angular?
聊聊技术选型-Angular vs Vue⚡️
为什么不是React⚡️
状态管理
ES6和TypeScript的特点
ES6
Classes
回顾this
箭头函数
模板字符串
常量和块作用域变量
委托
继承
扩展语句和剩余参数
解构
模块
TypeScript
TypeScript入门
使用 tsc
Linting
TypeScript特性
类型⚡️
TypeScript类
泛型⚡️
接口
类型关键字
类型推断
Shapes
装饰器
属性装饰器
类装饰器
参数装饰器
JavaScript工具链
命令行
源码控制:Git
JavaScript命令行:NodeJS
后端代码共享和分发:npm
模块加载,打包和构建任务:Webpack
Chrome
引导Angular应用
引导Providers
了解文件结构
Angular 中的组件
创建组件
组件的应用程序结构
将数据传递到组件
使用双向数据绑定
响应组件事件
投影
从模板访问子组件
使用组件构建应用程序
使用其他组件
属性指令
指令
NgStyle指令
NgClass指令
结构指令
NgIf指令
使用多个结构指令
NgFor指令
NgSwitch指令
高级组件
组件生命周期
其他组件交互方式
视图封装
ElementRef
使用Observable
Observable
错误处理
处理订阅和释放资源
Observable VS Promise
使用其他来源的Observable
可观察数组操作
总结
“冷” vs “热” Observable
Angular 依赖注入
什么是DI?
DI框架
Angular 的DI
@Inject() 和 @Injectable
类以外的注入
避免注入冲突: OpaqueToken
注入树
发起请求
HTTP
捕获异常
捕获和释放
重试
取消请求
拦截请求
进度事件
变化检测
Angularjs与Angular的变化检测策略
变化检测如何工作
更改检测器类
变更检测策略:OnPush
强制不变性
其他资源
Zone.js
概述
Zone 传播
跟踪异步操作
异步操作补丁
上下文环境
拦截
Angular 进阶
创建属性指令
在指令中设置属性
监听Host元素
查看容器和嵌入视图
创建结构指令
向指令提供上下文变量
AoT
AoT局限
AoT配置
Immutable.js
什么是不可变性?
不变性的应用场景
JavaScript解决方案
Object.assign
Immutable.js基础
Object.freeze
Immutable.Map
Map.merge
删除密钥
嵌套对象
Map是可迭代的
Immutable.List
管道
性能
使用管道
自定义管道
表单
状态管道
模板驱动的表单
入门
嵌套表单数据
验证模板驱动的表单
使用模板模型绑定
响应式/模型驱动的表单
响应式表单基础
验证响应式表单
自定义验证响应式表单
用户的视觉提示
什么是Angular模块?
将组件、管道和服务添加到模块
创建功能模块
指令复制
延迟加载和依赖注入树
延迟加载模块
共享模块和依赖注入
共享相同的依赖注入树
为什么选择路由?
路由
配置路由
将路由器重定向到另一条路由
定义路由之间的链接
使用路由参数
动态添加路由组件
定义子路由
路由拦截
将可选参数传递给路由
使用辅助路由
示例应用
使用选择器读取应用程序状态
通过Dispatching Actions 修改应用 State
Actions
Reducers 和纯函数
创建应用的Root Reducer
Reducers 的 State 管理
更多Redux和Ngrx资源
配置你的应用
Redux 和 Ngrx
将@ngrx添加到你的项目
定义应用的主状态
动画
TDD测试
测试工具链
测试设置
Karma配置
文件名约定
TestBed配置(可选)
类型
执行测试脚本
简单测试
使用Chai
检验方法和属性
测试组件
覆盖测试的组件
注入依赖和DOM更改
重构难以测试的代码
测试异步操作
测试服务
服务测试策略
测试HTTP请求
替代HTTP Mock策略
使用MockBackend
测试JSONP和XHR后端
异步执行测试
测试Redux
测试简单的Action
测试Reducers
测试复杂的Action
Afterthoughts
将Angular1.x项目迁移到Angular 2
迁移准备
使用 Webpack
升级到 Angular 1.3&+ 风格
迁移到 TypeScript
选择升级途径
项目设置
避免全面转换
Webpack
安装和使用
Loaders
插件
概要
NPM脚本集成
创建
Angular CLI
创建新应用程序
启动应用
创建路由
测试
创建其他东西
CLI命令概述
集成现有应用程序
添加第三方库
Angular 中的无障碍
为什么需要无障碍
Angular 中的国际化
过程什么样的,如何参与?
在我们的模板中标记文字
使用Angular CLI提取翻译文本
如何导入已完成的翻译文件
使用AoT编译器
使用JiT编译器
词汇表
最佳实践与填坑的积累⚡️
进一步阅读和参考
其他
The case for ZoneDelegate
Task Scheduling
任务
Angular: Why TypeScript?
使用 Redux 与 Components
回顾 Reducers 和纯函数
Redux和组件架构
配置应用以使用Redux
Persistent and Transient Data Structures
使用RxJS操作符实现更多高级特性
与其他框架比较
Angular 2中的Web辅助功能
无障碍Web应用的关键
暂无相关搜索结果!
本文使用
EduBoo.COM
构建
×
分享,让知识传承更久远
×
文章二维码
手机扫一扫,轻松掌上读
×
文档下载
请下载您需要的格式的文档,随时随地,享受汲取知识的乐趣!
PDF
文档
EPUB
文档
MOBI
文档
×
书签列表
×
阅读记录
阅读进度:
0.00%
(
0/0
)
重置阅读进度