W3cubDocs

/Angular

TestBed

class final

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, options?: TestEnvironmentOptions): void
  resetTestEnvironment(): void
  resetTestingModule(): TestBed
  configureCompiler(config: { providers?: any[]; useJit?: boolean; }): void
  configureTestingModule(moduleDef: TestModuleMetadata): TestBed
  compileComponents(): Promise<any>
  inject<T>(token: ProviderToken<T>, notFoundValue: undefined, options: InjectOptions & { optional?: false; }): T
  get<T>(token: ProviderToken<T>, notFoundValue?: T, flags?: InjectFlags): any
  runInInjectionContext<T>(fn: () => T): T
  execute(tokens: any[], fn: Function, context?: any): any
  overrideModule(ngModule: Type<any>, override: MetadataOverride<NgModule>): TestBed
  overrideComponent(component: Type<any>, override: MetadataOverride<Component>): TestBed
  overrideDirective(directive: Type<any>, override: MetadataOverride<Directive>): TestBed
  overridePipe(pipe: Type<any>, override: MetadataOverride<Pipe>): TestBed
  overrideTemplate(component: Type<any>, template: string): TestBed
  overrideProvider(token: any, provider: { useFactory: Function; deps: any[]; multi?: boolean; }): TestBed
  overrideTemplateUsingTestingModule(component: Type<any>, template: string): TestBed
  createComponent<T>(component: Type<T>): ComponentFixture<T>
}

Description

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

Properties

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

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, options?: TestEnvironmentOptions): void

Parameters
ngModule Type<any> | Type<any>[]
platform PlatformRef
options TestEnvironmentOptions

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(): TestBed

Parameters

There are no parameters.

Returns

TestBed

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

Parameters
config object
Returns

void

configureTestingModule(moduleDef: TestModuleMetadata): TestBed

Parameters
moduleDef TestModuleMetadata
Returns

TestBed

compileComponents(): Promise<any>

Parameters

There are no parameters.

Returns

Promise<any>

4 overloads...

Show All Hide All
Overload #1

inject<T>(token: ProviderToken<T>, notFoundValue: null, options: InjectOptions): T | null

Parameters
token ProviderToken<T>
notFoundValue null
options InjectOptions
Returns

T | null

Overload #2

inject<T>(token: ProviderToken<T>, notFoundValue?: T, options?: InjectOptions): T

Parameters
token ProviderToken<T>
notFoundValue T

Optional. Default is undefined.

options InjectOptions

Optional. Default is undefined.

Returns

T

Overload #3

inject<T>(token: ProviderToken<T>, notFoundValue?: T, flags?: InjectFlags): T

Deprecated use object-based flags (InjectOptions) instead.

Parameters
token ProviderToken<T>
notFoundValue T

Optional. Default is undefined.

flags InjectFlags

Optional. Default is undefined.

Returns

T

Overload #4

inject<T>(token: ProviderToken<T>, notFoundValue: null, flags?: InjectFlags): T | null

Deprecated use object-based flags (InjectOptions) instead.

Parameters
token ProviderToken<T>
notFoundValue null
flags InjectFlags

Optional. Default is undefined.

Returns

T | null

get<T>(token: ProviderToken<T>, notFoundValue?: T, flags?: InjectFlags): any

Deprecated from v9.0.0 use TestBed.inject

Parameters
token ProviderToken<T>
notFoundValue T

Optional. Default is undefined.

flags InjectFlags

Optional. Default is undefined.

Returns

any

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

Runs the given function in the EnvironmentInjector context of TestBed.

See also:

  • EnvironmentInjector#runInContext

runInInjectionContext<T>(fn: () => T): T

Parameters
fn () => T
Returns

T

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>): TestBed

Parameters
ngModule Type<any>
override MetadataOverride<NgModule>
Returns

TestBed

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

Parameters
component Type<any>
override MetadataOverride<Component>
Returns

TestBed

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

Parameters
directive Type<any>
override MetadataOverride<Directive>
Returns

TestBed

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

Parameters
pipe Type<any>
override MetadataOverride<Pipe>
Returns

TestBed

overrideTemplate(component: Type<any>, template: string): TestBed

Parameters
component Type<any>
template string
Returns

TestBed

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

overrideProvider(token: any, provider: { useFactory: Function; deps: any[]; multi?: boolean; }): TestBed

Parameters
token any
provider object
Returns

TestBed

overrideProvider(token: any, provider: { useValue: any; multi?: boolean; }): TestBed

Parameters
token any
provider object
Returns

TestBed

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

Parameters
token any
provider object
Returns

TestBed

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

Parameters
component Type<any>
template string
Returns

TestBed

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

Parameters
component Type<T>
Returns

ComponentFixture<T>

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