gpt4 book ai didi

angular - getTestBed 和 TestBed 的区别

转载 作者:行者123 更新时间:2023-12-03 16:50:37 30 4
gpt4 key购买 nike

可以说我有一个如下所示的测试配置

 TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
providers: [SomeService]
});

injector = getTestBed()

如果我想获得注入(inject)服务,有什么区别
TestBed.get(SomeService)
injector.get(SomeService)

最佳答案

那很有意思。我认为这是 getTestBed 和 TestBed 之间的区别:

试验台配置和初始化环境 用于单元测试并提供在单元测试中创建组件和服务的方法。
获取测试床 返回 单例 适用的TestBed。

更深入

试验台主 API 用于为 Angular 应用程序和库编写单元测试。

interface 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>
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>
}

然后 获取测试床 的一个实例TestBedViewEngine TestBedRender3 .
const getTestBed: () => TestBed;

关于angular - getTestBed 和 TestBed 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58280634/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com