Hue*_*cio 5 android automated-tests robolectric firebase firebase-realtime-database
我正在尝试使用Robolectric进行测试,并且它与Firebase集成在一起。我有一个项目MyProject-Test,它将用于在数据库的真实实例中运行测试。
问题是,在测试前运行清理时,出现错误:
java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process null. Make sure to call FirebaseApp.initializeApp(Context) first.
at com.google.firebase.FirebaseApp.getInstance(Unknown Source)
at com.google.firebase.database.FirebaseDatabase.getInstance(Unknown Source)
at com.cgbros.silkhub.activity.listener.LoginActivityUnitTest.cleanUp(LoginActivityUnitTest.kt:26) <28 internal calls>
测试文件:https : //gist.github.com/augustoerico/e88d3e5b59ae5d023d83c114b8ffa708 (我试图在此处复制粘贴源。失败失败...)
关于如何进行这项工作的任何见解?
谢谢!
我遇到了同样的问题,并通过在单元测试的前一步中初始化 Firebase 来修复它:
FirebaseApp.initializeApp(InstrumentationRegistry.getInstrumentation().targetContext)
好吧,我已经弄清楚了。这其实是一个概念问题。问题是我正在尝试使用 Firebase Android SDK 在 Android 上下文之外运行测试。我的意思是,我的测试不是 Android 应用程序,我正在尝试使用 Android SDK。都FirebaseApp.initializeApp()需要aContext作为参数。
所以,我要做的就是找到一种与我的 FirebaseDatabase 交互的方法。我想我可以选择firebase-admin,或者使用这个: https: //github.com/bane73/firebase4j
感谢您花时间帮助我(:
** 更新 **
我选择使用 Firebase REST API https://firebase.google.com/docs/reference/rest/database/
为了供将来参考,我通过调整规则向公众提供完全访问权限,以便更轻松地编写测试设置和清理。
| 归档时间: | 
 | 
| 查看次数: | 3584 次 | 
| 最近记录: |