ReferenceError:未定义$ firebase

时间:2015-03-30 06:10:00

标签: javascript angularjs firebase karma-jasmine

我正在尝试使用jasmine对此服务进行单元测试: -

我的单元测试是: -

describe('initial configuration for the test user', function () {

  beforeEach(function(){
      var config = {
            'Apache 404' : {
              content : {
                type : 'tip',
                template : 'yesNo',
                text : 'Are you searching for status code 404?',
                yesText : 'Try our more accurate <a href="https://www.loggly.com/docs/search-query-language/#field_names" target="_blank">field search</a>',
                attachTo : '#inputBox right',
                yesActions : {
                  0 : {
                      type : 'replaceSubstring',
                      target : '#inputBox',
                      value : 'apache.status:404',
                      match : '404'
                    }
                }
              },
              conditions : {
                0 : {
                    type : 'valueChange',
                    target : '#inputBox',
                    textMatch : '(^|([\\s]+))404(([\\s]+)|$)',
                    preventSubmit : true
                  },
                1 : {
                    type : 'contentPropertyLessThan',
                    propertyName : 'timesShown',
                    compareVal : 3
                  }
              }
            }
      };

      var clientName = 'testClient';
      var fireRef = new Firebase('https://luminous-inferno-1740.firebaseio.com/' + clientName);
      var fireSync = $firebase(fireRef);
      fireSync.$set({'config' : config});
      log.message = 'Resetting user data';
      $log.debug(log);

      userData.init(function(done) {
          done();
        });
  });

  it('should have a valid config', function () {
      expect(Object.keys(userData.getConfig()).length > 1);
    });

});

我收到错误: -

  

ReferenceError:未定义$ firebase       在对象。

有人可以通过一些解释帮我提供我的代码的工作示例吗?

1 个答案:

答案 0 :(得分:0)

我也有问题。我通过在控制器的参数中添加$ firebaseArray解决了我的问题

.controller('ChatsCtrl',['$ scope','$ firebaseArray','$ rootScope',......

应该注意的一点是firebase已经更新,不再支持$ firebase。您只能使用$ firebaseArray或$ firebaseObject来检索数据。