android - 测试 - 在此过程中未初始化 FirebaseApp

标签 android firebase firebase-realtime-database automated-tests robolectric

我正在尝试使用 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 Android SDK 在 Android 上下文之外运行测试。我的意思是,我的测试不是 Android 应用程序,我正在尝试使用 Android SDK。所有 FirebaseApp.initializeApp() 都需要一个 Context 作为参数。

因此,我要做的是找到一种与我的 FirebaseDatabase 交互的方法。我想我可以使用 firebase-admin,或者使用这个:https://github.com/bane73/firebase4j

感谢您花时间帮助我 (:

** 更新**

我选择使用 Firebase REST API https://firebase.google.com/docs/reference/rest/database/

为了将来引用,我通过调整规则向公众提供完全访问权限,以便更容易编写测试设置和清理。

关于android - 测试 - 在此过程中未初始化 FirebaseApp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47253944/

相关文章:

java - 如何在 Android Studio 中将 CSV 文件解析为数组

javascript - 了解 Firebase 应用初始化的安全性

javascript - Firebase 如何按用户对字段求和

swift - 如何从不同的类更新我的 Firebase 数据库中的值?

android - Firebase 查询实现

android - 在android中实现一个带有分区的列表

android - Samsung Galaxy S3 版本 4.1.1 中的 Camera Force Closing 问题

android - 使用 ovr 1.0.3 为 Gear VR 设置 Unity

javascript - 如何使用 Javascript 从 Firebase 检索数据?

javascript - 使用React + Firebase,如何修改嵌套查询内的状态?