Mon Android studio a un module d'application qui est Android dépendant du framework, j'ai créé un nouveau module appelé domaine et il ne contient que Java classes et quelques classes de test.
Dans le fichier build.gradle de ce module, j'ai ajouté des bibliothèques junit et mockito à des fins de test comme suit:
apply plugin: 'Java'
sourceCompatibility = 1.7
targetCompatibility = 1.7
dependencies {
testCompile 'junit:junit:4.11'
testCompile 'org.mockito:mockito-core:1.9.5'
compile project(':common')
compile project(':model')
//test dependencies
}
Mais Android Studio me donne !!! JUnit version 3.8 or later expected
message d'erreur chaque fois que j'essaie d'exécuter la classe de test.
Toutes les solutions suggérées à ce problème consistent à ouvrir la structure du projet | Modules | Dépendances, et déplacez le junit-4.7.jar vers le haut, afin qu'il vienne avant Android 1.6 Platform dans le chemin de classe.
En fait, j'ai essayé d'implémenter cette solution mais le problème existe toujours.
Une idée sur la façon de résoudre ce problème?
J'ai réussi à le résoudre en modifiant simplement l'iml du projet et en déplaçant l'ordre d'enrty pour junit, dans mon cas:
<orderEntry type="library" exported="" scope="TEST" name="junit-4.13-SNAPSHOT" level="project" />
jusqu'à être la première commandeEntrée après </content>
Je l'avais mais la raison était différente ... J'avais par inadvertance défini ma variante de build sur Release et je n'avais aucune information de signature spécifiée, donc rien ne pouvait être construit et exécuté sur l'appareil.
L'erreur cryptique qu'elle m'a donnée était la même lorsque j'ai essayé d'exécuter les tests d'intégration ... je n'ai pas remarqué que l'application était également désactivée: - P Réglez-la sur Debug et cela a bien fonctionné.