HarnessEnvironment
서로 다른 테스트 환경(예: testbed, protractor 등)에서 ComponentHarness를 사용할 수 있도록 확장할 수 있는 기본 하네스 환경 클래스입니다. 이 클래스는 HarnessLoader와 LocatorFactory의 기능을 모두 구현합니다. 이 클래스의 제네릭 타입 E는 해당 테스트 환경에서 사용하는 원시 엘리먼트 타입입니다.
constructor
HarnessEnvironment<E>HarnessEnvironment<E>rootElement
TestElementTestElement로 표현한 이 HarnessEnvironment의 루트 엘리먼트입니다.
documentRootLocatorFactory
LocatorFactory문서 루트를 기준으로 하는 로케이터 팩토리를 가져옵니다.
LocatorFactorylocatorFor
() => Promise<LocatorFnResult<T>>이 HarnessEnvironment의 루트 엘리먼트 아래에서 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
T검색할 하네스와 엘리먼트를 지정하는 쿼리 목록입니다:
string은 문자열로 지정한 CSS 선택자와 일치하는 엘리먼트를 검색합니다.ComponentHarness생성자는 주어진 클래스와 일치하는ComponentHarness인스턴스를 검색합니다.HarnessPredicate는 주어진 조건자와 일치하는ComponentHarness인스턴스를 검색합니다.
() => Promise<LocatorFnResult<T>>locatorForOptional
() => Promise<LocatorFnResult<T> | null>이 HarnessEnvironmnet의 루트 엘리먼트 아래에서 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`
T검색할 하네스와 엘리먼트를 지정하는 쿼리 목록입니다:
string은 문자열로 지정한 CSS 선택자와 일치하는 엘리먼트를 검색합니다.ComponentHarness생성자는 주어진 클래스와 일치하는ComponentHarness인스턴스를 검색합니다.HarnessPredicate는 주어진 조건자와 일치하는ComponentHarness인스턴스를 검색합니다.
() => Promise<LocatorFnResult<T> | null>locatorForAll
() => Promise<LocatorFnResult<T>[]>이 HarnessEnvironment의 루트 엘리먼트 아래에서 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')()
T검색할 하네스와 엘리먼트를 지정하는 쿼리 목록입니다:
string은 문자열로 지정한 CSS 선택자와 일치하는 엘리먼트를 검색합니다.ComponentHarness생성자는 주어진 클래스와 일치하는ComponentHarness인스턴스를 검색합니다.HarnessPredicate는 주어진 조건자와 일치하는ComponentHarness인스턴스를 검색합니다.
() => Promise<LocatorFnResult<T>[]>rootHarnessLoader
Promise<HarnessLoader>Promise<HarnessLoader>harnessLoaderFor
Promise<HarnessLoader>이 HarnessEnvironment의 루트 아래 엘리먼트에 대한 HarnessLoader 인스턴스를 가져옵니다.
string루트 엘리먼트의 선택자입니다.
Promise<HarnessLoader>harnessLoaderForOptional
Promise<HarnessLoader | null>이 HarnessEnvironment의 루트 아래 엘리먼트에 대한 HarnessLoader 인스턴스를 가져옵니다.
string루트 엘리먼트의 선택자입니다.
Promise<HarnessLoader | null>harnessLoaderForAll
Promise<HarnessLoader[]>일치하는 각 엘리먼트에 대한 HarnessLoader 인스턴스 목록을 가져옵니다.
string루트 엘리먼트의 선택자입니다.
Promise<HarnessLoader[]>getHarness
Promise<T>HarnessEnvironment의 루트 엘리먼트 아래에서 주어진 하네스 타입에 대응하는 컴포넌트 인스턴스를 검색하고 해당 인스턴스의 ComponentHarness를 반환합니다. 여러 컴포넌트가 일치하면 첫 번째 컴포넌트의 하네스를 반환합니다. 일치하는 컴포넌트가 없으면 오류를 던집니다.
Promise<T>getHarnessOrNull
Promise<T | null>HarnessEnvironment의 루트 엘리먼트 아래에서 주어진 하네스 타입에 대응하는 컴포넌트 인스턴스를 검색하고 해당 인스턴스의 ComponentHarness를 반환합니다. 여러 컴포넌트가 일치하면 첫 번째 컴포넌트의 하네스를 반환합니다. 일치하는 컴포넌트가 없으면 null을 반환합니다.
Promise<T | null>getHarnessAtIndex
Promise<T>HarnessEnvironment의 루트 엘리먼트 아래에서 주어진 하네스 타입과 인덱스에 대응하는 컴포넌트 인스턴스를 검색하고 해당 인스턴스의 ComponentHarness를 반환합니다. 인덱스는 찾을 컴포넌트의 위치를 지정합니다. 해당 인덱스에 일치하는 컴포넌트가 없으면 오류를 던집니다.
numberPromise<T>getAllHarnesses
Promise<T[]>HarnessEnvironment의 루트 엘리먼트 아래에서 주어진 하네스 타입에 대응하는 모든 컴포넌트 인스턴스를 검색하고 각 인스턴스의 ComponentHarness 목록을 반환합니다.
Promise<T[]>countHarnesses
Promise<number>HarnessEnvironment의 루트 엘리먼트 아래에서 주어진 하네스 타입에 대응하는 모든 컴포넌트 인스턴스를 검색하고 찾은 개수를 반환합니다.
Promise<number>hasHarness
Promise<boolean>HarnessEnvironment의 루트 엘리먼트 아래에서 주어진 하네스 타입에 대응하는 컴포넌트 인스턴스를 검색하고, 찾은 인스턴스가 있는지를 불리언으로 반환합니다.
Promise<boolean>getChildLoader
Promise<HarnessLoader>환경의 루트 엘리먼트 아래에서 주어진 선택자와 일치하는 엘리먼트를 검색하고, 해당 엘리먼트를 기준으로 하는 HarnessLoader를 반환합니다. 여러 엘리먼트가 일치하면 첫 번째를 사용합니다. 일치하는 엘리먼트가 없으면 오류를 던집니다.
Promise<HarnessLoader>getAllChildLoaders
Promise<HarnessLoader[]>환경의 루트 엘리먼트 아래에서 주어진 선택자와 일치하는 모든 엘리먼트를 검색하고, 각 엘리먼트를 기준으로 하는 HarnessLoader 배열을 반환합니다.
Promise<HarnessLoader[]>createComponentHarness
TforceStabilize
Promise<void>Angular Zone에서 추적하는 변경 감지와 비동기 작업을 모두 처리합니다. 대부분 직접 호출할 필요는 없지만, 일부 예외적인 상황에서는 애니메이션 이벤트를 완전히 처리하기 위해 필요할 수 있습니다. 하위 클래스에서 구현해야 하는 추상 메서드입니다.
Promise<void>waitForTasksOutsideAngular
Promise<void>예약되었거나 실행 중인 모든 비동기 작업이 완료될 때까지 기다립니다. 하네스 작성자가 Angular Zone 밖의 비동기 작업을 기다릴 수 있게 합니다. 하위 클래스에서 구현해야 하는 추상 메서드입니다.
Promise<void>getDocumentRoot
E문서의 루트 엘리먼트를 가져옵니다.
EgetAllRawElements
Promise<E[]>이 환경의 루트 엘리먼트 아래에서 주어진 선택자와 일치하는 모든 엘리먼트 목록을 가져옵니다.
stringPromise<E[]>