当我们想要处理Angular2中的服务时,我们会......
let fix = TestBed.createComponent(TestComponent);
let injector = fix.debugElement.injector;
let service = injector.get(MyService);
现在我们可以监视注入的服务等。
如何获取测试组件使用的属性指令的句柄,以便我可以监视它?
答案 0 :(得分:2)
你需要从儿童注射器中获取它
let directive = fixture.debugElement.children[0].injector.get(MyDirective);
答案 1 :(得分:1)
对@peeskillet回答进行轻微调整,该回答仅针对与相关指令相关的元素。
let fix = TestBed.createComponent(TestComponent);
// this will return multiple elements if the test component uses the directive multiple times
let directiveEls = fix.debugElement.queryAll(By.directive(MyDirective));
let directive = directiveEls[0].injector.get(MyDirective) as MyDirective;