我已经为我的服务,存储库和控制器编写了单元测试,用于从Cloud Firestore数据库添加和检索数据,模拟从模拟Firestore对象添加和检索数据。但是,我想从实际的Cloud Firestore实例写入和检索实际数据,而不在登台和生产环境中与Firestore实例进行交互。有什么方法可以创建Cloud Firestore的本地开发实例吗?
wusliu 回答:Spring Boot + Cloud Firestore集成测试
模拟来自模拟Firestore对象的数据的添加和检索。
您无法仅从模拟Firestore
对象获取数据。因此,您不仅要模拟Firestore对象,还必须模拟由于调用了CollectionReference
或DocumentReference
而返回的任何其他collection()
或document()
对象您的连锁店。例如,如果您在collection()
对象上调用Firestore
,则返回的对象是一个CollectionReference
对象,应对其进行模拟。此外,如果您依次对生成的document()
对象调用CollectionReference
,则返回的对象的类型为DocumentReference
,也应该对其进行模拟。因此,应该为每个新的此类方法调用执行此模拟操作。
之所以发生这种情况,是因为模拟不不知道如何为该模拟上的方法生成更多的模拟对象。如上所述,您必须告诉它每个方法调用分别返回什么。