我一直在尝试对项目中每个可测试的代码进行单元测试,最近我发现Firebase在其仿真套件中添加了Authentication。我现在正在开发一个Angular / Nativescript项目,并且正在使用Firestore模拟器运行数据库测试,并将其作为测试环境的一部分,我很喜欢它。事情是,首先要使它生效需要一些麻烦。
基本上,我只是用两个必需的Firebase模块配置TestBed
并提供了一个SETTINGS
对象,该对象告诉AngularFirestoreModule
以仿真器而不是生产数据库为目标。看起来像这样:
TestBed.configureTestingModule({
imports:[
AngularFireModule.initializeApp(environment.firebaseConfig),
AngularFirestoreModule
],
providers: [
//this is what I'm unit testing
{ provide: Database, useClass: FirebaseDatabase },
//this is the object I provide to my testing environment
{ provide: SETTINGS, useValue: { host: 'localhost:8080', ssl: false } }
]
});
到目前为止一切顺利。问题是当我尝试将相同的概念应用于身份验证时。遍历AngularFireAuth源代码似乎似乎需要注入与AngularFirestore模块几乎相同的东西,除了SETTINGS
。我需要在TestBed
中提供什么以定位身份验证模拟器?