ContentContainerComponentHarness
Базовый класс для тестовых оболочек компонентов, от которого следует наследоваться, если предполагается, что пользователям оболочки может потребоваться доступ к другим оболочкам внутри <ng-content> компонента.
API
abstract class ContentContainerComponentHarness<S extends string = string> extends ComponentHarness implements HarnessLoader {
getChildLoader(selector: S): Promise<HarnessLoader>;
getAllChildLoaders(selector: S): Promise<HarnessLoader[]>;
getHarness<T extends ComponentHarness>(query: HarnessQuery<T>): Promise<T>;
getHarnessOrNull<T extends ComponentHarness>(query: HarnessQuery<T>): Promise<T | null>;
getHarnessAtIndex<T extends ComponentHarness>(query: HarnessQuery<T>, index: number): Promise<T>;
getAllHarnesses<T extends ComponentHarness>(query: HarnessQuery<T>): Promise<T[]>;
countHarnesses<T extends ComponentHarness>(query: HarnessQuery<T>): Promise<number>;
hasHarness<T extends ComponentHarness>(query: HarnessQuery<T>): Promise<boolean>;
protected getRootHarnessLoader(): Promise<HarnessLoader>;
override host(): Promise<TestElement>;
protected override documentRootLocatorFactory(): LocatorFactory;
protected override locatorFor<T extends (HarnessQuery<any> | string)[]>(...queries: T): () => Promise<LocatorFnResult<T>>;
protected override locatorForOptional<T extends (HarnessQuery<any> | string)[]>(...queries: T): () => Promise<LocatorFnResult<T> | null>;
protected override locatorForAll<T extends (HarnessQuery<any> | string)[]>(...queries: T): () => Promise<LocatorFnResult<T>[]>;
protected override forceStabilize(): Promise<void>;
protected override waitForTasksOutsideAngular(): Promise<void>;
}
getChildLoader
Promise<HarnessLoader>Возвращает HarnessLoader, который ищет тестовые оболочки под первым элементом, соответствующим заданному селектору в содержимом текущей тестовой оболочки.
SСелектор элемента в содержимом компонента.
Promise<HarnessLoader>HarnessLoader, который ищет тестовые оболочки под заданным селектором.
getAllChildLoaders
Promise<HarnessLoader[]>Возвращает список HarnessLoader для каждого элемента в содержимом текущей тестовой оболочки, соответствующего заданному селектору; каждый из них ищет тестовые оболочки под этим элементом.
SСелектор элементов в содержимом компонента.
Promise<HarnessLoader[]>Список HarnessLoader для каждого элемента, соответствующего заданному селектору.
getHarness
Promise<T>Возвращает первую тестовую оболочку, соответствующую заданному запросу в содержимом текущей тестовой оболочки.
Promise<T>Первая тестовая оболочка, соответствующая заданному запросу.
getHarnessOrNull
Promise<T | null>Возвращает первую тестовую оболочку, соответствующую заданному запросу в содержимом текущей тестовой оболочки.
Promise<T | null>Первая тестовая оболочка, соответствующая заданному запросу, или null, если совпадений нет.
getHarnessAtIndex
Promise<T>Возвращает тестовую оболочку, соответствующую заданному запросу и индексу в содержимом текущей тестовой оболочки.
numberСмещение компонента, который нужно найти, начиная с нуля.
Promise<T>Первая тестовая оболочка, соответствующая заданному запросу.
getAllHarnesses
Promise<T[]>Возвращает все тестовые оболочки, соответствующие заданному запросу в содержимом текущей тестовой оболочки.
Promise<T[]>Список тестовых оболочек, соответствующих заданному запросу.
countHarnesses
Promise<number>Возвращает количество тестовых оболочек, соответствующих заданному запросу в содержимом текущей тестовой оболочки.
Promise<number>Количество тестовых оболочек, соответствующих заданному запросу.
hasHarness
Promise<boolean>Проверяет, есть ли в содержимом текущей тестовой оболочки тестовая оболочка, соответствующая заданному запросу.
Promise<boolean>Указывает, есть ли тестовая оболочка, соответствующая заданному запросу.
getRootHarnessLoader
Promise<HarnessLoader>Возвращает корневой загрузчик тестовых оболочек, с которого начинается поиск содержимого, принадлежащего этой тестовой оболочке.
Promise<HarnessLoader>
host
Promise<TestElement>Возвращает Promise для TestElement, представляющего корневой элемент компонента.
Promise<TestElement>
documentRootLocatorFactory
LocatorFactoryВозвращает LocatorFactory для корневого элемента документа. Эту фабрику можно использовать для создания средств поиска элементов, которые компонент создаёт за пределами собственного корневого элемента (например, добавляя их в document.body).
LocatorFactory
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
TСписок запросов, определяющих, какие тестовые оболочки и элементы нужно искать:
stringищет элементы, соответствующие CSS-селектору, заданному строкой.- Конструктор
ComponentHarnessищет экземплярыComponentHarness, соответствующие заданному классу. HarnessPredicateищет экземплярыComponentHarness, соответствующие заданному предикату.
() => 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`
TСписок запросов, определяющих, какие тестовые оболочки и элементы нужно искать:
stringищет элементы, соответствующие CSS-селектору, заданному строкой.- Конструктор
ComponentHarnessищет экземплярыComponentHarness, соответствующие заданному классу. HarnessPredicateищет экземплярыComponentHarness, соответствующие заданному предикату.
() => 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')()
TСписок запросов, определяющих, какие тестовые оболочки и элементы нужно искать:
stringищет элементы, соответствующие CSS-селектору, заданному строкой.- Конструктор
ComponentHarnessищет экземплярыComponentHarness, соответствующие заданному классу. HarnessPredicateищет экземплярыComponentHarness, соответствующие заданному предикату.
() => Promise<LocatorFnResult<T>[]>
forceStabilize
Promise<void>Запускает обнаружение изменений и асинхронные задачи в зоне Angular. В большинстве случаев вызывать этот метод вручную не требуется. Однако в некоторых особых случаях это может понадобиться, чтобы полностью обработать события анимации.
Promise<void>
waitForTasksOutsideAngular
Promise<void>Ожидает завершения всех запланированных или выполняющихся асинхронных задач. Это позволяет авторам тестовых оболочек ожидать завершения асинхронных задач вне зоны Angular.
Promise<void>
Super-powered by Google ©2010–2025.
Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.
https://angular.dev/api/cdk/testing/ContentContainerComponentHarness