通过带有Angular的模拟器进行Firebase身份验证单元测试

时间:2020-11-02 20:20:17

标签: angular firebase unit-testing firebase-authentication firebase-cli

我一直在尝试对项目中每个可测试的代码进行单元测试,最近我发现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中提供什么以定位身份验证模拟器?

0 个答案:

没有答案