• 개요
@angular/cdk/testing

LocatorFactory

인터페이스

엘리먼트와 컴포넌트 하네스를 찾는 비동기 로케이터 함수를 생성하는 인터페이스입니다. ComponentHarness 작성자는 이 인터페이스를 사용해 자신의 ComponentHarness 하위 클래스에 필요한 로케이터 함수를 만듭니다.

API

    
      interface LocatorFactory {}
    
    

documentRootLocatorFactory

LocatorFactory

문서 루트를 기준으로 하는 로케이터 팩토리를 가져옵니다.

rootElement

TestElement

TestElement로 표현한 이 LocatorFactory의 루트 엘리먼트입니다.

locatorFor

() => Promise<LocatorFnResult<T>>

이 LocatorFactory의 루트 엘리먼트 아래에서 ComponentHarness 인스턴스나 엘리먼트를 찾는 데 사용할 비동기 로케이터 함수를 생성합니다.

예를 들어 다음 DOM이 있고 DivHarness.hostSelector가 'div'라고 가정하면:

<div id="d1"></div><div id="d2"></div>

다음과 같은 결과가 나옵니다:

await lf.locatorFor(DivHarness, 'div')() // Gets a `DivHarness` instance for #d1
await lf.locatorFor('div', DivHarness)() // Gets a `TestElement` instance for #d1
await lf.locatorFor('span')()            // Throws because the `Promise` rejects
@paramqueriesT

검색할 하네스와 엘리먼트를 지정하는 쿼리 목록입니다:

@returns() => Promise<LocatorFnResult<T>>

locatorForOptional

() => Promise<LocatorFnResult<T> | null>

이 LocatorFactory의 루트 엘리먼트 아래에서 ComponentHarness 인스턴스나 엘리먼트를 찾는 데 사용할 비동기 로케이터 함수를 생성합니다.

예를 들어 다음 DOM이 있고 DivHarness.hostSelector가 'div'라고 가정하면:

<div id="d1"></div><div id="d2"></div>

다음과 같은 결과가 나옵니다:

await lf.locatorForOptional(DivHarness, 'div')() // Gets a `DivHarness` instance for #d1
await lf.locatorForOptional('div', DivHarness)() // Gets a `TestElement` instance for #d1
await lf.locatorForOptional('span')()            // Gets `null`
@paramqueriesT

검색할 하네스와 엘리먼트를 지정하는 쿼리 목록입니다:

@returns() => Promise<LocatorFnResult<T> | null>

locatorForAll

() => Promise<LocatorFnResult<T>[]>

이 LocatorFactory의 루트 엘리먼트 아래에서 ComponentHarness 인스턴스들이나 엘리먼트들을 찾는 데 사용할 비동기 로케이터 함수를 생성합니다.

예를 들어 다음 DOM이 있고 DivHarness.hostSelector가 'div'이며 IdIsD1Harness.hostSelector가 '#d1'라고 가정하면:

<div id="d1"></div><div id="d2"></div>

다음과 같은 결과가 나옵니다:

// Gets [DivHarness for #d1, TestElement for #d1, DivHarness for #d2, TestElement for #d2]
await lf.locatorForAll(DivHarness, 'div')()
// Gets [TestElement for #d1, TestElement for #d2]
await lf.locatorForAll('div', '#d1')()
// Gets [DivHarness for #d1, IdIsD1Harness for #d1, DivHarness for #d2]
await lf.locatorForAll(DivHarness, IdIsD1Harness)()
// Gets []
await lf.locatorForAll('span')()
@paramqueriesT

검색할 하네스와 엘리먼트를 지정하는 쿼리 목록입니다:

@returns() => Promise<LocatorFnResult<T>[]>

harnessLoaderFor

Promise<HarnessLoader>

이 LocatorFactory의 루트 아래 엘리먼트에 대한 HarnessLoader 인스턴스를 가져옵니다.

@paramselectorstring

루트 엘리먼트의 선택자입니다.

@returnsPromise<HarnessLoader>

harnessLoaderForOptional

Promise<HarnessLoader | null>

이 LocatorFactory의 루트 아래 엘리먼트에 대한 HarnessLoader 인스턴스를 가져옵니다.

@paramselectorstring

루트 엘리먼트의 선택자입니다.

@returnsPromise<HarnessLoader | null>

harnessLoaderForAll

Promise<HarnessLoader[]>

일치하는 각 엘리먼트에 대한 HarnessLoader 인스턴스 목록을 가져옵니다.

@paramselectorstring

루트 엘리먼트의 선택자입니다.

@returnsPromise<HarnessLoader[]>

forceStabilize

Promise<void>

Angular Zone에서 추적하는 변경 감지와 비동기 작업을 모두 처리합니다. 대부분 직접 호출할 필요는 없지만, 일부 예외적인 상황에서는 애니메이션 이벤트를 완전히 처리하기 위해 필요할 수 있습니다.

@returnsPromise<void>

waitForTasksOutsideAngular

Promise<void>

예약되었거나 실행 중인 모든 비동기 작업이 완료될 때까지 기다립니다. 하네스 작성자가 Angular Zone 밖의 비동기 작업을 기다릴 수 있게 합니다.

@returnsPromise<void>
상세 내용으로 이동