7

Maintenant que Google a ajouté experimental unit test support, comment peut-on partager les ressources entre les tests unitaires et les tests d'instrumentation? Par exemple, disons que j'ai une classe TestUtils.java que je veux accessible dans mes tests unitaires et mes tests d'instrumentation. Si je le mets dans mon dossier src/test/java, il sera accessible à mes tests unitaires. Si je le mets dans mon dossier src/androidTest/java, il sera accessible à mes tests d'instrumentation. Comment puis-je le rendre accessible aux deux?Partage des ressources entre les tests unitaires et les tests d'instrumentation sous Android

La seule solution que je vois maintenant est de le mettre en src/debug/java, mais y a-t-il un meilleur moyen?

+0

Vous pouvez toujours dire à Gradle qu'il y a plus d'un répertoire de source à partir duquel vous pouvez tirer. Cependant, je ne sais pas s'il y a une réponse plus claire. – CommonsWare

+2

@CommonsWare bonne idée! Ajout de 'android.sourceSets.androidTest.java.srcDirs = ['src/androidTest/java', 'src/test/java']' et vice-versa travaillé – skoush

+0

Cet article couvre ce sujet exact: http: //blog.danlew .net/2015/11/02/sharing-code-between-unit-tests-and-instrumentation-tests-on-android/ –

Répondre

1
android { 
    sourceSets { 
    String sharedTestDir = 'src/sharedTest/java' 
    test { 
     java.srcDir sharedTestDir 
    } 
    androidTest { 
     java.srcDir sharedTestDir 
    } 
    } 
} 
+1

Bien que ce code puisse répondre à la question, fournir un contexte supplémentaire concernant * pourquoi * et/ou * comment * ce code répond à la question améliore sa valeur à long terme. –

+1

Qu'en est-il de faire cela à travers les modules? – karate