Angular 2 - 如何在单元测试中访问服务依赖项

时间:2017-03-10 12:44:38

标签: unit-testing angular angular2-services

我有以下Angular服务,它取决于AngularFire

@Injectable()
export class FirebaseService {

  constructor(private af: AngularFire) { }

  // more code here
}

我使用以下设置对此服务进行单元测试:

TestBed.configureTestingModule({
  imports: [ AngularFireModule.initializeApp(MY_FIREBASE_CONFIG) ],
  providers: [ FirebaseService ]
});
const firebaseService = TestBed.get(FirebaseService);

然后我可以对服务的方法做出断言,例如:

// This works great
expect(firebaseService.callFoo()).toEqual('foo');

我的问题是如何抓住在AngularFire的构造函数中注入的FirebaseService实例? (TestBed.get(AngularFire)不起作用;另外,我没有组件,因此我无法使用该组件的注射器)

网站说明:我知道我应该嘲笑后端进行单元测试,但这不是问题的重点。

0 个答案:

没有答案