我正在尝试测试从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被调用一次。
任何帮助/说明将不胜感激!
预先感谢