Angular jasmine单元测试框架TestBed.createComponent的实现原理
生活随笔
收集整理的這篇文章主要介紹了
Angular jasmine单元测试框架TestBed.createComponent的实现原理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
單元測試代碼里的createComponent,是通過TestBedRender實現的:
TestBedRenderer3:
獲得注入的TestComponentRenderer:
const result = this.testModuleRef.injector.get(token, UNDEFINED, flags);
得到DomTestComponentRenderer:
一個硬編碼的rootElementId:root0
創建一個template元素,里面包含一個div元素,id為root0:
type就是createComponent的輸入參數:
type as any之后,其?cmp屬性里包含了很多信息,簡而言之,就是Component的定義,也就是metadata:
使用ComponentDefinition創建ComponentFactory:
在ngZone里運行initComponent,并將結果插入到activeFixtures里,并返回fixture:
更多Jerry的原創文章,盡在:“汪子熙”:
總結
以上是生活随笔為你收集整理的Angular jasmine单元测试框架TestBed.createComponent的实现原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Angular jasmine单元测试框
- 下一篇: Angular jasmine单元测试框