天天看点

Angular jasmine单元测试框架TestBed.inject的执行原理

单步调试这段代码:

Angular jasmine单元测试框架TestBed.inject的执行原理

TestBed用于单元测试代码里创建Component和service实例。

Angular jasmine单元测试框架TestBed.inject的执行原理
Angular jasmine单元测试框架TestBed.inject的执行原理
Angular jasmine单元测试框架TestBed.inject的执行原理

injectionToken即传入TestBed.inject的function:

Angular jasmine单元测试框架TestBed.inject的执行原理

还是delegate给TestModuleRef的injector进行常规的injection操作:

Angular jasmine单元测试框架TestBed.inject的执行原理
Angular jasmine单元测试框架TestBed.inject的执行原理
Angular jasmine单元测试框架TestBed.inject的执行原理

Records里早就被注入好了: