I get an internal error message from Cloud Firestore. When I run this test, the App is getting a list of items from Firebase. This takes a while. In the meantime the test stops.
Every library is updated to the latest version. This SO thread does not give an satisfying answer. The error only occurs when running the test, the actual App is fine.
@InternalCoroutinesApi
@ExperimentalCoroutinesApi
@RunWith(AndroidJUnit4::class)
class HomeTest {
@get:Rule
var reportHelper: ReportHelper? = Factory.getReportHelper()
@get:Rule
var activityRule = ActivityScenarioRule(MainActivity::class.java)
// Executes tasks in a synchronous [TaskScheduler]
@get:Rule
var syncTaskExecutorRule = SyncTaskExecutorRule()
@Before
fun goToHomeScreen() {
onView(withId(R.id.navigation_home)).perform(ViewActions.click())
}
@Test
fun scrollToNextVideo() {
onView(withId(R.id.recycler)).perform(swipeUp())
}
@After
fun TearDown() {
reportHelper?.label("Stopping App")
}
}
Dependencies:
implementation "com.google.firebase:firebase-firestore:22.1.2"
implementation "com.google.firebase:firebase-database-ktx:19.7.0"
implementation "com.google.firebase:firebase-storage:19.2.2"
implementation "com.firebaseui:firebase-ui-storage:4.3.2"
Stacktrace:
Testing started at 18:40 ...
02/23 18:40:39: Launching 'HomeTest' on samsung SM-A515F.
App restart successful without requiring a re-install.
Running tests
$ adb shell am instrument -w -m --no-window-animation -e debug false -e class 'eu.theappfactory.someapp.data.ui.home.HomeTest' eu.theappfactory.someapp.acc.test/androidx.test.runner.AndroidJUnitRunner
Connected to process 981 on device 'samsung-sm_a515f-R58N52ZCJZL'.
Started running tests
java.lang.RuntimeException: Internal error in Cloud Firestore (22.1.0).
at com.google.firebase.firestore.util.AsyncQueue.lambda$panic$3(AsyncQueue.java:534)
at com.google.firebase.firestore.util.AsyncQueue$$Lambda$3.run(Unknown Source:2)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:8167)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
Caused by: java.lang.NoSuchMethodError: No static method registerDefaultInstance(Ljava/lang/Class;Lcom/google/protobuf/GeneratedMessageLite;)V in class Lcom/google/protobuf/GeneratedMessageLite; or its super classes (declaration of 'com.google.protobuf.GeneratedMessageLite' appears in /data/app/eu.theappfactory.someapp.acc.test-K43eWkkKbA6iBOHgciWAfA==/base.apk)
at com.google.firestore.v1.ListenRequest.<clinit>(ListenRequest.java:849)
at com.google.firestore.v1.ListenRequest.getDefaultInstance(ListenRequest.java:854)
at com.google.firestore.v1.FirestoreGrpc.getListenMethod(FirestoreGrpc.java:396)
at com.google.firebase.firestore.remote.WatchStream.<init>(WatchStream.java:61)
at com.google.firebase.firestore.remote.Datastore.createWatchStream(Datastore.java:115)
at com.google.firebase.firestore.remote.RemoteStore.<init>(RemoteStore.java:167)
at com.google.firebase.firestore.core.MemoryComponentProvider.createRemoteStore(MemoryComponentProvider.java:72)
at com.google.firebase.firestore.core.ComponentProvider.initialize(ComponentProvider.java:135)
at com.google.firebase.firestore.core.FirestoreClient.initialize(FirestoreClient.java:258)
at com.google.firebase.firestore.core.FirestoreClient.lambda$new$0(FirestoreClient.java:105)
at com.google.firebase.firestore.core.FirestoreClient$$Lambda$1.run(Unknown Source:8)
at com.google.firebase.firestore.util.AsyncQueue.lambda$enqueue$2(AsyncQueue.java:436)
at com.google.firebase.firestore.util.AsyncQueue$$Lambda$2.call(Unknown Source:2)
at com.google.firebase.firestore.util.AsyncQueue$SynchronizedShutdownAwareExecutor.lambda$executeAndReportResult$1(AsyncQueue.java:322)
at com.google.firebase.firestore.util.AsyncQueue$SynchronizedShutdownAwareExecutor$$Lambda$2.run(Unknown Source:4)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at com.google.firebase.firestore.util.AsyncQueue$SynchronizedShutdownAwareExecutor$DelayedStartFactory.run(AsyncQueue.java:229)
at java.lang.Thread.run(Thread.java:919)
Test running failed: Process crashed.
Tests ran to completion.
from Internal error in Cloud Firestore (22.1.0) when running instrumentation test
No comments:
Post a Comment