Abd*_*lah 5 android robolectric firebase
我在我们的 android 应用程序中使用Firebase进行远程配置。下面是在我的应用程序类onCreate方法中完成的初始化:
FirebaseRemoteConfig remoteConfig = FirebaseRemoteConfig.getInstance();
FirebaseRemoteConfigSettings settings = new FirebaseRemoteConfigSettings.Builder()
.setDeveloperModeEnabled(BuildConfig.DEBUG)
.build();
remoteConfig.setConfigSettings(settings);
setFirebaseDefault();
Map<String, Object> defaults = new HashMap<>();
defaults.put(FirebaseConstantsKt.BREAKING_NEWS, "");
defaults.put(FirebaseConstantsKt.ENABLE_BREAKING_NEWS, false);
FirebaseRemoteConfig.getInstance().setDefaults(defaults);
Run Code Online (Sandbox Code Playgroud)
根据这个答案,我的build.gradle
文件中还有以下行:
apply plugin: 'com.google.gms.google-services'
Run Code Online (Sandbox Code Playgroud)
当我运行应用程序时,它工作正常,但是当我尝试运行我的 Roboelectric 测试用例时,它崩溃并出现以下异常:
java.lang.IllegalStateException:名称为 [DEFAULT] 的 FirebaseApp 不存在。在 com.google.firebase.FirebaseApp.getInstance(Unknown Source) 在 com.google.firebase.FirebaseApp.getInstance(Unknown Source) 在 com.google.firebase.remoteconfig.FirebaseRemoteConfig.getInstance(Unknown Source) 在 com.woi.apppackage .android.MyApplication.initFirebase(MyApplication.java:225) at com.woi.apppackage.android.MyApplication.onCreate(MyApplication.java:107) at org.robolectric.internal.ParallelUniverse.setUpApplicationState(ParallelUniverse.java:140) at org.robolectric.RobolectricTestRunner.setUpApplicationState(RobolectricTestRunner.java:433) 在 org.robolectric.RobolectricTestRunner$2.evaluate(RobolectricTestRunner.java:240) 在 org。
该测试与 Firebase 无关。如果我在onCreate
测试中注释掉 Firebase 代码运行良好。我想我在 Firebase 的初始化中遗漏了一些东西
我认为 Firebase 存在一个在应用程序级别调用的错误。我对 Firebase 数据库也有同样的问题,并通过将我的 Firebase 代码移动到我的活动类(在我的例子中是 SplashScreen)中解决了这个问题。
我建议尝试做同样的事情。:)
归档时间: |
|
查看次数: |
1973 次 |
最近记录: |