天天看点

关于fixture.debugElement.query(By.css)这个方法的一个疑问

最简单的test case里用css class也检索不到这个continue按钮:

关于fixture.debugElement.query(By.css)这个方法的一个疑问
关于fixture.debugElement.query(By.css)这个方法的一个疑问
打印为null:
关于fixture.debugElement.query(By.css)这个方法的一个疑问
加上两行代码:
关于fixture.debugElement.query(By.css)这个方法的一个疑问

component.mode.controls['deliveryModeId'].setValue(null);
    
    fixture.detectChanges();      

果然,这次就能检索到按钮了:

关于fixture.debugElement.query(By.css)这个方法的一个疑问

这说明上述两行代码一定有一行起了作用。

把第一行代码注释掉,只剩fixture.detectChanges()也能检索到:

关于fixture.debugElement.query(By.css)这个方法的一个疑问
关于fixture.debugElement.query(By.css)这个方法的一个疑问

加了spy语句还是不行:

关于fixture.debugElement.query(By.css)这个方法的一个疑问

注释掉fixture.detectChanges()后,button为null:

关于fixture.debugElement.query(By.css)这个方法的一个疑问