我正在考虑针对使用Firebase进行数据存储的应用的测试策略.虽然端到端测试可以向实际后端发出请求,但能够对不需要访问Firebase 的应用程序逻辑进行单元测试会很好.
我一直在网上寻找一种方法来使用像本地JSON文件来模拟javascript Firebase服务,但是没有找到任何东西.这样的事情存在吗?如果没有,我会写它并发布在github上...
更新
请参阅本文和本文,详细探讨封装TDD与使用模拟进行单元测试.
原帖
正确模拟Firebase服务将非常困难,因为它会模拟大多数复杂的数据存储.在模拟MySQL或模拟MongoDB方面考虑这一点.
假设您的目标是使本地环境脱机工作,快速解决方案可能是使用本地实例.您可以获取firebase-debug.js,将其保存在本地,然后调用set(/*data*/)将其初始化为脱机操作.
否则,您最好的方法是将所有Firebase活动封装到一个类或库中.然后,您可以模拟该库而不是Firebase事件.对于准单元测试(这些在技术上不是单元测试,因为它们依赖于外部服务)库本身,可以回退到本地离线Firebase实例或设置开发数据库并复制生产数据(或一些种子数据)那里.