Je reçois un message d'erreur interne de Cloud Firestore. Lorsque j'exécute ce test, l'application obtient une liste d'articles de Firebase. Cela prend un certain temps. Pendant ce temps, le test s'arrête.
Chaque bibliothèque est mise à jour à la dernière version. Ce site Fil conducteur ne donne pas de réponse satisfaisante. L'erreur ne se produit que lors de l'exécution du test, l'application actuelle fonctionne bien.
@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")
}
}
build.gradle (niveau App) :
android {
configurations.all() { configuration ->
// exclude group: "com.google.protobuf", module: "protobuf-javalite"
exclude group: "com.google.protobuf", module: "protobuf-java"
// exclude group: "io.grpc", module: "grpc-protobuf-lite" // tried this, but App fails to compile
}
dependencies {
implementation "com.google.firebase:firebase-firestore-ktx:23.0.0"
implementation "com.google.firebase:firebase-database-ktx:20.0.0"
implementation "com.google.firebase:firebase-storage-ktx:20.0.0"
implementation "com.firebaseui:firebase-ui-storage:4.3.2"
}
Voici mes dépendances.txt
Stacktrace :
Testing started at 18:40 ...
02/23 18:40:39: Launching 'HomeTest' on Samsung SM-A515F.
App restarts successfully 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.
a essayé ceci ne fonctionne pas. ceci aussi n'a pas fonctionné.