我想问一下Angular4中的依赖注入如何以及如何在单元测试中使用模拟服务。
首先,我没有检查任何Angular2测试框架,此时,我想更多地了解一般概念。
为什么Angular中的DI被称为DI?
在要注入的构造函数中列出服务时,必须导入对该文件的引用。
当您在提供商中注册服务时,它只是一个类名。我在这里看不到Interface-Class配对的任何可能性。
我无法抗拒,但我认为这种行为与静态类没有区别。
以某种方式模拟单元测试服务的技术是什么?
非常感谢所有投入:)
答案 0 :(得分:0)
以某种方式模拟单元测试服务的技术是什么?
在测试平台中声明服务后,您可以将服务注入测试。一个例子:
it('should mock videos', inject([VideoService], (videoService: VideoService) => {
videos = [
{ id: 0, name: 'Superman' },
{ id: 1, name: 'Superman part 2' }
]
spyOn(videoService, 'videos').and.returnValue(videos);
fixture.detectChanges();
expect(component.getVideoOne()).toContain(Superman);
});