Angular 2 - 错误:令牌FirebaseAppName没有提供者 [英] Angular 2 - Error: No provider for Token FirebaseAppName

查看:156
本文介绍了Angular 2 - 错误:令牌FirebaseAppName没有提供者的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



 错误:没有Token的提供者FirebaseAppName! 

这里是我的规格:

<$ p $从'@ angular / core / testing'导入{TestBed,inject};
从'./api.service'中导入{ApiService};
从'@ angular / http'导入{HttpModule};
从'angularfire2'导入{FIREBASE_PROVIDERS,defaultFirebase,AngularFire}; $()= $ {
} firebaseConfig = {
apiKey:foo,
authDomain:bar,
databaseURL:baz,
storageBucket:foo,
messagingSenderId:bar
}

TestBed.configureTestingModule({
// providers:[ApiService,defaultFirebase(firebaseConfig)],
providers:[ApiService,FIREBASE_PROVIDERS,defaultFirebase(firebaseConfig)],
imports:[




$(应该...),注入([ApiService],(service:ApiService) => {
expect(service).toBeTruthy();
}));
});

预先感谢您。



版本:

 @ angular / core:^ 2.4.0,
jasmine-core: 2.5.2,
firebase:^ 3.7.0,


解决方案

尝试配置模块而不是提供者

TestBed.configureTestingModule({$ b $ providers:[ApiService]
imports:[
HttpModule,$(



$ pre
AngularFireModule.initializeApp(firebaseConfig)
]
});


My app is running fine, but I cannot get my tests to pass with Firebase.

Error: No provider for Token FirebaseAppName!

Here is me spec:

import { TestBed, inject } from '@angular/core/testing';
import { ApiService } from './api.service';
import { HttpModule } from '@angular/http';
import {FIREBASE_PROVIDERS, defaultFirebase, AngularFire} from 'angularfire2';

describe('ApiService', () => {
  beforeEach(() => {
    const firebaseConfig = {
      apiKey: "foo",
      authDomain: "bar",
      databaseURL: "baz",
      storageBucket: "foo",
      messagingSenderId: "bar"
    }

    TestBed.configureTestingModule({
      // providers: [ApiService, defaultFirebase(firebaseConfig)],
     providers: [ApiService, FIREBASE_PROVIDERS, defaultFirebase(firebaseConfig)],
     imports: [
       HttpModule
     ]
   });
 });

 it('should ...', inject([ApiService], (service: ApiService) => {
   expect(service).toBeTruthy();
 }));
});

Thanks in advance.

Versions:

"@angular/core": "^2.4.0",
"jasmine-core": "~2.5.2",
"firebase": "^3.7.0",

解决方案

Try to configure module instead of provider

TestBed.configureTestingModule({
  providers: [ApiService]
  imports: [
    HttpModule,
    AngularFireModule.initializeApp(firebaseConfig)
  ]
});

这篇关于Angular 2 - 错误:令牌FirebaseAppName没有提供者的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆