• 개요
@angular/cdk/testing

ComponentHarness

클래스

모든 컴포넌트 하네스 작성자가 확장해야 하는 컴포넌트 테스트 하네스의 기본 클래스입니다. 엘리먼트와 하위 컴포넌트 하네스를 찾는 기본 기능을 제공합니다.

API

    
      abstract class ComponentHarness {}
    
    

host

Promise<TestElement>

컴포넌트의 호스트 엘리먼트를 나타내는 TestElement의 Promise를 가져옵니다.

@returnsPromise<TestElement>

documentRootLocatorFactory

LocatorFactory

문서 루트 엘리먼트의 LocatorFactory를 가져옵니다. 이 팩토리로 컴포넌트가 자신의 루트 엘리먼트 밖에 생성한 엘리먼트(예: document.body에 추가한 엘리먼트)의 로케이터를 만들 수 있습니다.

locatorFor

() => Promise<LocatorFnResult<T>>

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

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

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

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

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

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

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

locatorForOptional

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

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

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

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

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

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

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

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

locatorForAll

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

이 ComponentHarness의 호스트 엘리먼트 아래에서 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 ch.locatorForAll(DivHarness, 'div')()
// Gets [TestElement for #d1, TestElement for #d2]
await ch.locatorForAll('div', '#d1')()
// Gets [DivHarness for #d1, IdIsD1Harness for #d1, DivHarness for #d2]
await ch.locatorForAll(DivHarness, IdIsD1Harness)()
// Gets []
await ch.locatorForAll('span')()
@paramqueriesT

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

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

forceStabilize

Promise<void>

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

@returnsPromise<void>

waitForTasksOutsideAngular

Promise<void>

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

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