如何在浏览器测试中使用Mocha / Sinon模拟Firebase实时数据库

时间:2019-08-23 11:44:14

标签: javascript firebase-realtime-database mocha chai sinon

我正在尝试测试从Firebase读取并调用另一个函数的应用程序,并传递从Firebase获取的快照数据。我一生无法解决如何模拟Firebase的问题,也找不到在线上与我的问题类似的东西。

我对测试相对较新,尤其是在模拟服务时,并且不了解如何模拟firebase对象(或者也可以模拟database()。ref()对象)。

我遵循了有关如何设置摩卡浏览器测试的教程,并且该教程有效-因为我收到一条错误消息,说从未调用过Firebase initializeApp。

it('should get data from firebase', function() {
    let initializeAppStub = sinon.stub(firebase, 'initializeApp').callsFake(function() {
      return {
        "value": true
      };

    });
    let stub = sinon.stub(firebase.database().ref(), 'once'.callsFake(function() {
      return {
        Name: "Jim"
      };

    });
    let user = "Jim";
    index.getUserData(user);
    stub.should.have.been.calledOnce;
  });

现在,我无法自信地告诉您我的代码是否正确,但这是错误消息:FirebaseError:Firebase:未创建Firebase应用程序'[DEFAULT]'-调用Firebase App.initializeApp()(app /没有应用)。  当我希望它通过时-并同意Firebase被调用一次。

任何帮助/说明将不胜感激!

预先感谢

0 个答案:

没有答案