Lorsque vous souhaitez implémenter des tests de bibliothèque Java avec Spock en multi-module avec Gradle dans Android Studio 3

Que veux-tu faire

J'utilise Gradle avec Android Studio 3.x et il est multi-module et comprend des bibliothèques Java.

Je souhaite implémenter le test de la bibliothèque Java avec Spock.

introduction

Il existe différentes manières d'installer Spock, mais il sera ajouté au module build.gradle. Cependant, le point important de cet article est le destinationDir sur la dernière ligne.

apply plugin: 'groovy'
dependencies {
    testCompileOnly 'org.codehaus.groovy:groovy:2.5.3'
    testCompileOnly('org.spockframework:spock-core:1.2-groovy-2.5') {
        exclude module: 'groovy-all'
    }
}
compileTestGroovy.destinationDir = compileTestJava.destinationDir

Commentaire

Lorsqu'elle est exécutée à partir du triangle qui apparaît à gauche de la classe de test dans hoge.groovy, la taxe de gradle exécute compile (compileTestGroovy) comme groovy et .class est généré, mais c'est hoge / build / classes / groovy / test Généré dans / . スクリーンショット 2018-11-17 21.37.41.png

Mais tester dans Android Studio? Semble être JUnit, il semble donc qu'il se réfère à .class de hoge / build / classes / java / test /. Par conséquent, le test ne peut pas être exécuté avec l'erreur Classe non trouvée:" hogehoge "Suite de tests vide..

Par conséquent, définissez compileTestGroovy.destinationDir sur la même destination de sortie .class que Java.

Recommended Posts

Lorsque vous souhaitez implémenter des tests de bibliothèque Java avec Spock en multi-module avec Gradle dans Android Studio 3
Code à utiliser lorsque vous souhaitez traiter Json en Java avec uniquement des bibliothèques standard
Lorsque vous souhaitez remplacer dynamiquement l'annotation dans Java 8
Vous utilisez actuellement Java 6. Solution dans Android Studio Gradle
Code utilisé lorsque vous souhaitez traiter Json avec uniquement des bibliothèques standard en Java (version améliorée) gson inutile
Source pour afficher le tableau de caractères avec numberPicker dans Android Studio (Java)
De Java à C et de C à Java dans Android Studio
La première chose à faire lorsque vous voulez être satisfait d'Heroku sur GitHub avec Eclipse sur Java
3 façons d'importer des bibliothèques dans Android Studio
Lorsque vous souhaitez lier InputStream dans JDBI3
Une note quand vous voulez Tuple en Java
Mémo Android Studio indiquant que vous souhaitez afficher les caractères Toast en grande taille
[Android Studio] Je souhaite utiliser une bibliothèque Maven sur Android
[Android Studio] Je souhaite définir des restrictions sur les valeurs enregistrées dans EditText [Java]
[Ruby + Rails] Lorsque vous souhaitez vous inscrire dans la liste de diffusion de Mailchimp avec l'enregistrement de l'utilisateur
Reportez-vous à C ++ dans le module Android Studio (Java / kotlin)
Comment écrire dans la classe Model lorsque vous souhaitez enregistrer des données binaires dans DB avec PlayFramework
Utilisez JLine lorsque vous souhaitez gérer les frappes sur la console caractère par caractère en Java
Rationalisez les tests Java avec Spock
Lorsque vous souhaitez écrire explicitement OR ou AND avec ransack
Même en Java, je veux afficher true avec un == 1 && a == 2 && a == 3
Comment changer dynamiquement les JDK lors de la construction de Java avec Gradle
Je veux implémenter diverses fonctions avec kotlin et java!
docker-compose.yml lorsque vous voulez garder mysql en cours d'exécution avec docker
lombok.config lorsque vous voulez passer @Qualifier à @RequiredArgsConstructor avec lombok
Dans Java 10, lorsque l'éclipse gradle est terminée et que JavaSE-1.10 sort, ...
ProxyFactory est pratique lorsque vous souhaitez tester AOP avec Spring!
[Java] Je veux effectuer distinctement avec la clé dans l'objet
Essayez d'implémenter Yuma en Java
[Mots qui m'ont été écrits lorsque j'étais en première année ⑦] Ce que je veux que vous incluiez au moins avec l'extension Visual Studio Code
Même en Java, je veux afficher true avec un == 1 && a == 2 && a == 3 (édition PowerMockito)
[Android Studio] Que faire en cas d'erreur en crachant l'enfer
(Limité à Java 7 ou version ultérieure) Je souhaite que vous compariez des objets dans Objects.equals
Je veux ForEach un tableau avec une expression Lambda en Java
[Pour les débutants] Lorsque vous voulez dire que l'option JVM (-D) ne fonctionne pas avec la commande java -jar, ou que la bibliothèque est boguée.
Comment implémenter le calcul de la date en Java
Comment implémenter le filtre de Kalman par Java
Essayez d'implémenter l'ajout n-aire en Java
Comment appliquer les conventions de codage en Java
Si vous êtes en colère contre java.lang.UnsupportedClassVersionError: com / android / build / gradle / AppPlugin: version 52.0 major.minor non prise en charge dans le gradle intégré après Android Studio 2.3
Comment utiliser ExpandableListView dans Android Studio
Lorsque j'essaie de créer un modèle Google Map dans Android Studio, je me fâche avec Files \ Java \ jdkXXX \ bin \ java.exe '' terminé avec une valeur de sortie différente de zéro 2.
Que faire lorsque vous pensez que vous ne pouvez pas Groovy-> Java avec IntelliJ IDEA CE
Même en Java, je veux sortir true avec un == 1 && a == 2 && a == 3 (deuxième décoction Javassist)
Lorsque vous souhaitez notifier une erreur quelque part lors de l'utilisation de graphql-spring-boot avec Spring Boot
Même en Java, je veux afficher true avec un == 1 && a == 2 && a == 3 (Black Magic)
Je souhaite envoyer un e-mail en Java.
Analyse de code statique par Checkstyle avec Java + Gradle
Je veux utiliser java8 forEach avec index
Je souhaite transmettre APP_HOME pour me connecter à Gradle
Lorsque vous souhaitez utiliser la méthode à l'extérieur
rsync4j --Je veux toucher rsync en Java.
[Swift] Utilisez nonzeroBitCount lorsque vous voulez popcnt dans Swift
Essayez d'implémenter TCP / IP + NIO avec JAVA
Difficultés lors de la mise en œuvre d'Alarm Manager dans Android Studio
[Ruby] Lorsque vous souhaitez remplacer plusieurs caractères
Vous n'avez pas besoin d'écrire deux fois lorsque vous créez un triangle rectangle en Java
Une histoire dans laquelle vous devez faire attention à la sécurité des threads lors de l'exécution en parallèle avec Java
Vous devez également spécifier l'hôte lors du débogage à distance avec Java 9 ou version ultérieure