关于Angular Component changeDetection策略设置成OnPush的一个单元测试局限性
时间:2022-07-28
本文章向大家介绍关于Angular Component changeDetection策略设置成OnPush的一个单元测试局限性,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
局限性:如果Component的changeDetection的值为ChangeDetectionStrategy.OnPush而不是Default,那么fixture.detectChanges()只有在一个test spec里第一次调用才会生效。
这是Angular一个已知的bug:https://github.com/angular/angular/issues/12313
解决方案:
beforeEach(() => {
TestBed.configureTestingModule({
imports: [OutletModule],
declarations: [TableComponent],
providers: [
{ provide: TableRendererService, useClass: MockTableRendererService },
],
})
.overrideComponent(TableComponent, {
set: { changeDetection: ChangeDetectionStrategy.Default },
})
.compileComponents();
fixture = TestBed.createComponent(TableComponent);
tableComponent = fixture.componentInstance;
tableRendererService = TestBed.inject(TableRendererService);
fixture.detectChanges();
});
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- mysql的一些常用操作(二)
- python数组二分查找算法bisect
- 【python-leetcode295-双堆】数据流的中位数
- join的使用
- C语言之不能在scanf中使用换行
- 聊聊java中的哪些Map:(五)HashTable与HashMap的区别
- paddlepaddle之飞机识别
- c语言之条件编译
- python之使用魔术方法__getitem__和__len__
- B+Tree index structures in InnoDB(7.InnoDB中B+树的索引结构)
- Java基础
- 广度优先遍历--选课的智慧
- paddlepaddle目标检测之水果检测(yolov3_mobilenet_v1)
- 【每日一题】41. First Missing Positive
- springmvc之第一个springmvc程序