J'ai créé un coureur de test personnalisé pour l'espresso et il ressemble à ceci:espresso - comment déclarer chemin pour coureur de test personnalisé
public class MyRunner extends AndroidJUnitRunner {
@Override
public Application newApplication(ClassLoader cl, String className, Context context)
throws Exception {
return super.newApplication(cl, MyCustomEspressoApplication.class.getName(), context);
}
}
i ont placé la classe à l'intérieur du dossier androidTest. Est-ce correct?
Maintenant, je suis allé au fichier gradle de mettre à jour le coureur de test et je mis en ceci:
testInstrumentationRunner "com.mobile.myapp.base.MyRunner"
(est ce chemin ok souviens je l'ai mis dans le dossier androidTest?).
et l'un de mes tests structure de classes se présente comme suit:
@RunWith(AndroidJUnit4.class)
public class AuthenticationActivityTest {
//....
@Test
public void signupWithFacebook() {//...}
}
mais quand je lance le studio Android test dit qu'il ne peut pas trouver le coureur de test. ici est l'erreur exacte je reçois:
Test running failed: Unable to find instrumentation info for:
ComponentInfo{com.mobile.myapp.labs.test/android.support.test.runner.AndroidJUnitRunner}
S'il vous plaît noter à nouveau mon lanceur de test personnalisé est situé ici: androidTest -> java -> com -> mobile -> monapp -> base -> MyRun ner.java
MISE à JOUR: ci-dessous est le TestRunner personnalisé je suis en train d'utiliser:
package com.mobile.myapp.base;
import android.support.test.runner.AndroidJUnitRunner;
import com.squareup.rx2.idler.Rx2Idler;
import io.reactivex.plugins.RxJavaPlugins;
public class MyRunner extends AndroidJUnitRunner {
@Override public void onStart() {
RxJavaPlugins.setInitComputationSchedulerHandler(
Rx2Idler.create("RxJava 2.x Computation Scheduler"));
// etc...
super.onStart();
}
}
quand je vérifie le manifeste Android généré je vois ceci:
<instrumentation
android:name="com.mobile.myapp.base.MyRunner"
android:functionalTest="false"
android:handleProfiling="false"
android:label="Tests for com.mobile.myapp.labs"
android:targetPackage="com.mobile.myapp.labs" />
<application>
<uses-library android:name="android.test.runner" />
</application>
c'est. Êtes-vous que le chemin vers le fichier est correct? – Blackbelt
non je ne suis pas sûr de savoir comment mettre le chemin d'accès au fichier. mais le fichier se trouve ici: androidTest -> java -> com -> mobile -> myapp -> base -> MyRunner.java. alors comment puis-je dire gradle où il se trouve? – j2emanue
alors il devrait être 'com.mobile.myapp.base.MyRunner' – Blackbelt