• 개요
@angular/cdk/testing/testbed

TestbedHarnessEnvironment

클래스

Angular Testbed용 HarnessEnvironment 구현입니다.

API

    
      class TestbedHarnessEnvironment extends HarnessEnvironment<Element> {}
    
    

constructor

TestbedHarnessEnvironment
@paramrawRootElementElement
@param_fixtureFixture<unknown>
@paramoptionsTestbedHarnessEnvironmentOptions | undefined

forceStabilize

Promise<void>

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

@returnsPromise<void>

waitForTasksOutsideAngular

Promise<void>

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

Zone.js가 존재하고 zone.js/testing(Jasmine과 Jest만 해당) 또는 다른 스크립트가 테스트 프레임워크에 패치를 적용한 경우에만 작동합니다.

@returnsPromise<void>

getDocumentRoot

Element

문서의 루트 엘리먼트를 가져옵니다.

@returnsElement

createTestElement

TestElement

원시 엘리먼트로 TestElement를 생성합니다.

@paramelementElement
@returnsTestElement

createEnvironment

HarnessEnvironment<Element>

주어진 원시 엘리먼트를 기준으로 하는 HarnessLoader를 생성합니다.

@paramelementElement
@returnsHarnessEnvironment<Element>

getAllRawElements

Promise<Element[]>

이 환경의 루트 엘리먼트 아래에서 주어진 선택자와 일치하는 모든 엘리먼트 목록을 가져옵니다.

@paramselectorstring
@returnsPromise<Element[]>

rawRootElement

E

이 HarnessEnvironment의 네이티브 루트 엘리먼트입니다.

rootElement

TestElement

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

rootElement

TestElement

documentRootLocatorFactory

LocatorFactory

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

@returnsLocatorFactory

locatorFor

() => 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
@paramqueriesT

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

  • string은 문자열로 지정한 CSS 선택자와 일치하는 엘리먼트를 검색합니다.
  • ComponentHarness 생성자는 주어진 클래스와 일치하는 ComponentHarness 인스턴스를 검색합니다.
  • HarnessPredicate는 주어진 조건자와 일치하는 ComponentHarness 인스턴스를 검색합니다.
@returns() => 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`
@paramqueriesT

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

  • string은 문자열로 지정한 CSS 선택자와 일치하는 엘리먼트를 검색합니다.
  • ComponentHarness 생성자는 주어진 클래스와 일치하는 ComponentHarness 인스턴스를 검색합니다.
  • HarnessPredicate는 주어진 조건자와 일치하는 ComponentHarness 인스턴스를 검색합니다.
@returns() => 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')()
@paramqueriesT

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

  • string은 문자열로 지정한 CSS 선택자와 일치하는 엘리먼트를 검색합니다.
  • ComponentHarness 생성자는 주어진 클래스와 일치하는 ComponentHarness 인스턴스를 검색합니다.
  • HarnessPredicate는 주어진 조건자와 일치하는 ComponentHarness 인스턴스를 검색합니다.
@returns() => Promise<LocatorFnResult<T>[]>

rootHarnessLoader

Promise<HarnessLoader>
@returnsPromise<HarnessLoader>

harnessLoaderFor

Promise<HarnessLoader>

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

@paramselectorstring

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

@returnsPromise<HarnessLoader>

harnessLoaderForOptional

Promise<HarnessLoader | null>

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

@paramselectorstring

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

@returnsPromise<HarnessLoader | null>

harnessLoaderForAll

Promise<HarnessLoader[]>

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

@paramselectorstring

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

@returnsPromise<HarnessLoader[]>

getHarness

Promise<T>

HarnessEnvironment의 루트 엘리먼트 아래에서 주어진 하네스 타입에 대응하는 컴포넌트 인스턴스를 검색하고 해당 인스턴스의 ComponentHarness를 반환합니다. 여러 컴포넌트가 일치하면 첫 번째 컴포넌트의 하네스를 반환합니다. 일치하는 컴포넌트가 없으면 오류를 던집니다.

@paramqueryHarnessQuery<T>

생성할 하네스의 쿼리입니다.

@returnsPromise<T>

getHarnessOrNull

Promise<T | null>

HarnessEnvironment의 루트 엘리먼트 아래에서 주어진 하네스 타입에 대응하는 컴포넌트 인스턴스를 검색하고 해당 인스턴스의 ComponentHarness를 반환합니다. 여러 컴포넌트가 일치하면 첫 번째 컴포넌트의 하네스를 반환합니다. 일치하는 컴포넌트가 없으면 null을 반환합니다.

@paramqueryHarnessQuery<T>

생성할 하네스의 쿼리입니다.

@returnsPromise<T | null>

getHarnessAtIndex

Promise<T>

HarnessEnvironment의 루트 엘리먼트 아래에서 주어진 하네스 타입과 인덱스에 대응하는 컴포넌트 인스턴스를 검색하고 해당 인스턴스의 ComponentHarness를 반환합니다. 인덱스는 찾을 컴포넌트의 위치를 지정합니다. 해당 인덱스에 일치하는 컴포넌트가 없으면 오류를 던집니다.

@paramqueryHarnessQuery<T>

생성할 하네스의 쿼리입니다.

@paramoffsetnumber
@returnsPromise<T>

getAllHarnesses

Promise<T[]>

HarnessEnvironment의 루트 엘리먼트 아래에서 주어진 하네스 타입에 대응하는 모든 컴포넌트 인스턴스를 검색하고 각 인스턴스의 ComponentHarness 목록을 반환합니다.

@paramqueryHarnessQuery<T>

생성할 하네스의 쿼리입니다.

@returnsPromise<T[]>

countHarnesses

Promise<number>

HarnessEnvironment의 루트 엘리먼트 아래에서 주어진 하네스 타입에 대응하는 모든 컴포넌트 인스턴스를 검색하고 찾은 개수를 반환합니다.

@paramqueryHarnessQuery<T>

생성할 하네스의 쿼리입니다.

@returnsPromise<number>

hasHarness

Promise<boolean>

HarnessEnvironment의 루트 엘리먼트 아래에서 주어진 하네스 타입에 대응하는 컴포넌트 인스턴스를 검색하고, 찾은 인스턴스가 있는지를 불리언으로 반환합니다.

@paramqueryHarnessQuery<T>

생성할 하네스의 쿼리입니다.

@returnsPromise<boolean>

getChildLoader

Promise<HarnessLoader>

환경의 루트 엘리먼트 아래에서 주어진 선택자와 일치하는 엘리먼트를 검색하고, 해당 엘리먼트를 기준으로 하는 HarnessLoader를 반환합니다. 여러 엘리먼트가 일치하면 첫 번째를 사용합니다. 일치하는 엘리먼트가 없으면 오류를 던집니다.

@paramselectorstring

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

@returnsPromise<HarnessLoader>

getAllChildLoaders

Promise<HarnessLoader[]>

환경의 루트 엘리먼트 아래에서 주어진 선택자와 일치하는 모든 엘리먼트를 검색하고, 각 엘리먼트를 기준으로 하는 HarnessLoader 배열을 반환합니다.

@paramselectorstring

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

@returnsPromise<HarnessLoader[]>

createComponentHarness

T

주어진 하네스 타입과 원시 호스트 엘리먼트로 ComponentHarness를 생성합니다.

@paramharnessTypeComponentHarnessConstructor<T>
@paramelementE
@returnsT

loader

HarnessLoader

주어진 fixture의 루트 엘리먼트를 기준으로 하는 HarnessLoader를 생성합니다.

@paramfixtureFixture<unknown>
@paramoptionsTestbedHarnessEnvironmentOptions | undefined
@returnsHarnessLoader

documentRootLoader

HarnessLoader

문서 루트에 HarnessLoader를 생성합니다. 하네스가 fixture 밖에 있을 때(예: 문서 body에 추가된 오버레이) 사용할 수 있습니다.

@paramfixtureFixture<unknown>
@paramoptionsTestbedHarnessEnvironmentOptions | undefined
@returnsHarnessLoader

getNativeElement

Element

주어진 TestElement에 대응하는 네이티브 DOM 엘리먼트를 가져옵니다.

@paramelTestElement
@returnsElement

harnessForFixture

Promise<T>

fixture의 루트 엘리먼트를 하네스의 호스트 엘리먼트로 사용하여 주어진 하네스 타입의 인스턴스를 생성합니다. 컴포넌트를 fixture의 루트로 생성하면 올바른 선택자를 갖지 않으므로, fixture 루트 엘리먼트의 하네스를 만들 때 이 메서드를 사용해야 합니다.

@paramfixtureFixture<unknown>
@paramharnessTypeComponentHarnessConstructor<T>
@paramoptionsTestbedHarnessEnvironmentOptions | undefined
@returnsPromise<T>
상세 내용으로 이동