【发布时间】:2019-07-11 08:37:25
【问题描述】:
我开始学习单元测试,并了解主要目标是单独测试系统。因此,任何依赖项都应该被存根、模拟等。
根据有关测试的 Angular 文档,您应该模拟通过依赖注入提供的任何内容。到现在为止还挺好。但是,如下代码所示,您可以通过共享或功能模块简单地导入其他所需的模块、组件、指令、管道。
那么这真的是单元测试吗?如果被测目标系统是一个组件,这不是在测试它的整个模块吗?
或者这只是一种让步,在现实世界的应用程序中模拟所有需求几乎是不可能的?
beforeEach(async(() => {
const routerSpy = createRouterSpy();
TestBed.configureTestingModule({
imports: [ SharedModule ],
declarations: [ HeroDetailComponent ],
providers: [
{ provide: ActivatedRoute, useValue: activatedRoute },
{ provide: HeroService, useClass: TestHeroService },
{ provide: Router, useValue: routerSpy},
]
})
.compileComponents();
}));
【问题讨论】:
标签: angular unit-testing jasmine