【发布时间】:2021-08-26 14:29:40
【问题描述】:
在 Angular 的网站上,我们可以看到两种编写 Service 单元测试的方法。
首先是通过new Service实例化服务。
let service: ValueService; beforeEach(() => { service = new ValueService(); });
其次,通过TestBed实例化服务。
beforeEach(() => {
TestBed.configureTestingModule({ providers: [ValueService] });
service = TestBed.inject(ValueService);
});
谁能告诉我这两种方法有什么区别,什么时候应该和不应该使用它们,非常感谢!
【问题讨论】:
-
不完全,我还有一些问题: 1. 如果我测试的服务有使用其他服务或路由器的构造函数,我还可以使用 new Service() 吗? 2.它说你可以在以后不调用构造函数时使用new Service。这是否意味着我不能在其他组件的单元测试(在同一个项目中)中调用此服务,而在它的 Testbed 中提供此服务?
标签: angular unit-testing karma-jasmine angular-unit-test