Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
angularfirestore服务的单元测试_Angular_Angularfire2 - Fatal编程技术网

angularfirestore服务的单元测试

angularfirestore服务的单元测试,angular,angularfire2,Angular,Angularfire2,如何使用AngularFirestore为服务编写单元测试 目前我有以下几点: import { AngularFirestore } from 'angularfire2/firestore'; export class AngularFireStoreStub extends AngularFirestore {} beforeEach(() => { TestBed.configureTestingModule({ providers: [ DataMode

如何使用AngularFirestore为服务编写单元测试

目前我有以下几点:

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