Cookies concent notice

This site uses cookies from Google to deliver its services and to analyze traffic.
Learn more
Skip to main content
This site is no longer updated.Head to Angular.devHome
/

This is the archived documentation for Angular v17. Please visit angular.dev to see this page for the current version of Angular.

TestBed

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
inject<T>(token: ProviderToken<T>, notFoundValue: null, options: InjectOptions): T | null
inject<T>(token: ProviderToken<T>, notFoundValue?: T, options?: InjectOptions): T
inject<T>(token: ProviderToken<T>, notFoundValue?: T, flags?: InjectFlags): T
inject<T>(token: ProviderToken<T>, notFoundValue: null, flags?: InjectFlags): T | null
get<T>(token: ProviderToken<T>, notFoundValue?: T, flags?: InjectFlags): any
get(token: any, notFoundValue?: any): 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
overrideProvider(token: any, provider: { useValue: any; multi?: boolean; }): TestBed
overrideProvider(token: any, provider: { useFactory?: Function; useValue?: any; deps?: any[]; multi?: boolean; }): TestBed
overrideTemplateUsingTestingModule(component: Type<any>, template: string): TestBed
createComponent<T>(component: Type<T>): ComponentFixture<T>
flushEffects(): void }

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 expand_more
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:

      
      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>

Execute any pending effects.

      
      flushEffects(): void
    
Parameters

There are no parameters.

Returns

void