W3cubDocs

/Angular 11

TestBed

class

Configures and initializes environment for unit testing and provides methods for creating components and services in unit tests.

See more...

class TestBed {
  platform: PlatformRef
  ngModule: Type<any> | Type<any>[]
  initTestEnvironment(ngModule: Type<any> | Type<any>[], platform: PlatformRef, aotSummaries?: () => any[]): void
  resetTestEnvironment(): void
  resetTestingModule(): void
  configureCompiler(config: { providers?: any[]; useJit?: boolean; }): void
  configureTestingModule(moduleDef: TestModuleMetadata): void
  compileComponents(): Promise<any>
  inject<T>(token: Type<T> | InjectionToken<T> | AbstractType<T>, notFoundValue?: T, flags?: InjectFlags): T
  get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T, flags?: InjectFlags): any
  execute(tokens: any[], fn: Function, context?: any): any
  overrideModule(ngModule: Type<any>, override: MetadataOverride<NgModule>): void
  overrideComponent(component: Type<any>, override: MetadataOverride<Component>): void
  overrideDirective(directive: Type<any>, override: MetadataOverride<Directive>): void
  overridePipe(pipe: Type<any>, override: MetadataOverride<Pipe>): void
  overrideProvider(token: any, provider: { useFactory: Function; deps: any[]; }): void
  overrideTemplateUsingTestingModule(component: Type<any>, template: string): void
  createComponent<T>(component: Type<T>): ComponentFixture<T>
}

Description

TestBed is the primary api for writing unit tests for Angular applications and libraries.

Note: Use TestBed in tests. It will be set to either TestBedViewEngine or TestBedRender3 according to the compiler used.

Properties

Property Description
platform: PlatformRef
ngModule: Type<any> | Type<any>[]

Methods

Initialize the environment for testing with a compiler factory, a PlatformRef, and an angular module. These are common to every test in the suite.

initTestEnvironment(ngModule: Type<any> | Type<any>[], platform: PlatformRef, aotSummaries?: () => any[]): void

Parameters
ngModule Type | Type[]
platform PlatformRef
aotSummaries () => any[]

Optional. Default is undefined.

Returns

void

This may only be called once, to set up the common providers for the current test suite on the current platform. If you absolutely need to change the providers, first use resetTestEnvironment.

Test modules and platforms for individual platforms are available from '@angular/<platform_name>/testing'.

Reset the providers for the test injector.

resetTestEnvironment(): void

Parameters

There are no parameters.

Returns

void

resetTestingModule(): void

Parameters

There are no parameters.

Returns

void

configureCompiler(config: { providers?: any[]; useJit?: boolean; }): void

Parameters
config object
Returns

void

configureTestingModule(moduleDef: TestModuleMetadata): void

Parameters
moduleDef TestModuleMetadata
Returns

void

compileComponents(): Promise<any>

Parameters

There are no parameters.

Returns

Promise<any>

inject<T>(token: Type<T> | InjectionToken<T> | AbstractType<T>, notFoundValue: null, flags?: InjectFlags): T | null

Parameters
token Type | InjectionToken | AbstractType
notFoundValue null
flags InjectFlags

Optional. Default is undefined.

Returns

T | null

get(token: any, notFoundValue?: any): any

Deprecated from v9.0.0 use TestBed.inject

Parameters
token any
notFoundValue any

Optional. Default is undefined.

Returns

any

execute(tokens: any[], fn: Function, context?: any): any

Parameters
tokens any[]
fn Function
context any

Optional. Default is undefined.

Returns

any

overrideModule(ngModule: Type<any>, override: MetadataOverride<NgModule>): void

Parameters
ngModule Type
override MetadataOverride
Returns

void

overrideComponent(component: Type<any>, override: MetadataOverride<Component>): void

Parameters
component Type
override MetadataOverride
Returns

void

overrideDirective(directive: Type<any>, override: MetadataOverride<Directive>): void

Parameters
directive Type
override MetadataOverride
Returns

void

overridePipe(pipe: Type<any>, override: MetadataOverride<Pipe>): void

Parameters
pipe Type
override MetadataOverride
Returns

void

Overwrites all providers for the given token with the given provider definition.

overrideProvider(token: any, provider: { useValue: any; }): void

Parameters
token any
provider { useValue: any; }
Returns

void

overrideProvider(token: any, provider: { useFactory?: Function; useValue?: any; deps?: any[]; }): void

Parameters
token any
provider object
Returns

void

overrideTemplateUsingTestingModule(component: Type<any>, template: string): void

Parameters
component Type
template string
Returns

void

createComponent<T>(component: Type<T>): ComponentFixture<T>

Parameters
component Type
Returns

ComponentFixture<T>

© 2010–2021 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://v11.angular.io/api/core/testing/TestBed