angularfirestore服务的单元测试
如何使用AngularFirestore为服务编写单元测试 目前我有以下几点:angularfirestore服务的单元测试,angular,angularfire2,Angular,Angularfire2,如何使用AngularFirestore为服务编写单元测试 目前我有以下几点: import { AngularFirestore } from 'angularfire2/firestore'; export class AngularFireStoreStub extends AngularFirestore {} beforeEach(() => { TestBed.configureTestingModule({ providers: [ DataMode
import { AngularFirestore } from 'angularfire2/firestore';
export class AngularFireStoreStub extends AngularFirestore {}
beforeEach(() => {
TestBed.configureTestingModule({
providers: [ DataModelService,
{ provide: AngularFirestore, useClass: AngularFireStoreStub },
]
});
});
it('should be created', inject([DataModelService], (service: DataModelService) => {
expect(service).toBeTruthy();
}));
});
但是,这给了我Jasmine中的以下错误:
Error: Can't resolve all parameters for AngularFireStoreStub: ([object Object], ?).
由于我对angular单元测试比较陌生,这对我帮助不大。如果您的存根类
扩展了AngularFirestore
,那么它具有所有相同的依赖项,而您没有提供这些依赖项。它不是一个真正的存根,因为它继承了所有的方法和调用,直到真正的实现。为什么不使用例如jasmine.createSpyObj
来创建测试双精度?您应该将AngularFireStore
作为AngularFireStore=fixture.debugElement.injector.get(AngularFireStore)注入夹具中代码>通过将变量声明为let angularFirestore:angularFirestore代码>