填写这份《一分钟调查》,帮我们(开发组)做得更好!去填写Home

TestBed

配置和初始化用于单元测试的环境,并提供用于在单元测试中创建组件和服务的方法。

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

查看"说明"...

      
      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: ProviderToken<T>, notFoundValue?: T, flags?: InjectFlags): T
  get<T>(token: ProviderToken<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>
}
    

说明

TestBed 是用于为 Angular 应用程序和库编写单元测试的主要 API。

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

注意:在测试中使用 TestBed。根据使用的编译器不同,它将被设置为 TestBedViewEngineTestBedRender3

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

属性

属性说明
platform: PlatformRef
ngModule: Type<any> | Type<any>[]

方法

使用编译器工厂、PlatformRef 和 angular 模块来初始化测试环境。这些对于套件中的每个测试都是公共的。

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
    
参数
ngModule Type | Type[]
platform PlatformRef
aotSummaries () => any[]
可选. 默认值是 `undefined`.
返回值

void

这只能调用一次,以在当前平台上为当前测试套件设置公用提供者。如果你必须要更改提供者,请首先使用 resetTestEnvironment

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.

可从 '@angular/<platform_name>/testing' 获得适用于各个平台的测试模块和平台。

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

重置测试注入器的提供者。

Reset the providers for the test injector.

      
      resetTestEnvironment(): void
    
参数

没有参数。

返回值

void

      
      resetTestingModule(): void
    
参数

没有参数。

返回值

void

      
      configureCompiler(config: { providers?: any[]; useJit?: boolean; }): void
    
参数
config object
返回值

void

      
      configureTestingModule(moduleDef: TestModuleMetadata): void
    
参数
moduleDef TestModuleMetadata
返回值

void

      
      compileComponents(): Promise<any>
    
参数

没有参数。

返回值

Promise<any>

      
      inject<T>(token: ProviderToken<T>, notFoundValue: null, flags?: InjectFlags): T | null
    
参数
token ProviderToken
notFoundValue null
flags InjectFlags
可选. 默认值是 `undefined`.
返回值

T | null

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

从 v9.0.0 开始使用 TestBed.inject

Deprecated from v9.0.0 use TestBed.inject

参数
token any
notFoundValue any
可选. 默认值是 `undefined`.
返回值

any

      
      execute(tokens: any[], fn: Function, context?: any): any
    
参数
tokens any[]
fn Function
context any
可选. 默认值是 `undefined`.
返回值

any

      
      overrideModule(ngModule: Type<any>, override: MetadataOverride<NgModule>): void
    
参数
ngModule Type
override MetadataOverride
返回值

void

      
      overrideComponent(component: Type<any>, override: MetadataOverride<Component>): void
    
参数
component Type
override MetadataOverride
返回值

void

      
      overrideDirective(directive: Type<any>, override: MetadataOverride<Directive>): void
    
参数
directive Type
override MetadataOverride
返回值

void

      
      overridePipe(pipe: Type<any>, override: MetadataOverride<Pipe>): void
    
参数
pipe Type
override MetadataOverride
返回值

void

使用给定的提供者定义覆盖给定令牌的所有提供者。

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

      
      overrideProvider(token: any, provider: { useValue: any; }): void
    
参数
token any
provider { useValue: any; }
返回值

void

      
      overrideProvider(token: any, provider: { useFactory?: Function; useValue?: any; deps?: any[]; }): void
    
参数
token any
provider object
返回值

void

      
      overrideTemplateUsingTestingModule(component: Type<any>, template: string): void
    
参数
component Type
template string
返回值

void

      
      createComponent<T>(component: Type<T>): ComponentFixture<T>
    
参数
component Type
返回值

ComponentFixture<T>