4
當我測試像下面訪問DebugElement使用本地視圖封裝
@Component({
selector: 'my-component',
template: `
<my-nested-component [state]="state"></my-nested-component>
`,
encapsulation: ViewEncapsulation.Native
})
export class MyComponent {}
組件時的單元測試我的部分,我想獲得到嵌套組件MyOtherComponent
參考。如果my-component
沒有使用封裝,或者如果它曾經模擬封裝,我可以使用:
let fixture = TestBed.createComponent(MyComponent);
let nestedComponent = fixture.debugElement.query(By.directive(MyNestedComponent))
來獲取對組件的引用。
但在這種情況下,query
只是查詢組件(模仿的querySelector
行爲)的光DOM孩子,所以nestedComponent
是null
使用本地視圖封裝時。
你應該如何獲得對嵌套組件的DebugElement
(以及組件實例)的引用?
'getDebugNode'從哪裏來?這正是我所期待的。 – ovangle
它來自@ angular/core – yurzui
ahah!非常感謝你。答案被接受並獲得賞金(或者說,解鎖時在5小時內獎賞)。 – ovangle