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 = ActivityTestRule(MainActivity::class.java)
// Executes tasks in a synchronous [TaskScheduler]
@get:Rule
var syncTaskExecutorRule = SyncTaskExecutorRule()
private val resources = ApplicationProvider.getApplicationContext<Context>().resources
@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.0"
implementation "com.google.firebase:firebase-database-ktx:19.6.0"
implementation "com.google.firebase:firebase-storage:19.2.1"
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.
Aucun commentaire:
Enregistrer un commentaire