Actuellement, j'ai le fichier build.gradle suivant:
apply plugin: 'Java'
sourceSets {
main {
Java {
srcDir 'src/model'
}
}
}
dependencies {
compile files('libs/mnist-tools.jar', 'libs/gson-2.2.4.jar')
runtime fileTree(dir: 'libs', include: '*.jar')
}
Ce build.gradle fichier est destiné à mon référentiel here . Tous mes fichiers principaux sont dans src/model / et leurs tests respectifs sont dans test/model.
Comment ajouter un JUnit 4 dépendance correctement, puis exécuter ces tests dans les dossiers de tests/model?
Comment ajouter une dépendance junit 4 correctement?
En supposant que vous résolviez par rapport à un dépôt standard Maven (ou équivalent):
dependencies {
...
testCompile "junit:junit:4.11" // Or whatever version
}
Exécutez ces tests dans les dossiers de tests/model?
Vous définissez votre source de test de la même manière:
sourceSets {
...
test {
Java {
srcDirs = ["test/model"] // Note @Peter's comment below
}
}
}
Puis appelez les tests en tant que:
./gradlew test
EDIT: Si vous utilisez plutôt JUnit 5, il y a encore plusieurs étapes à suivre, vous devez suivre ce tutoriel .
Si vous configurez votre projet avec la structure de package Gradle par défaut, c'est-à-dire:
src/main/Java
src/main/resources
src/test/Java
src/test/resources
vous n'aurez alors pas besoin de modifier sourceSets pour exécuter vos tests. Gradle découvrira que vos classes et ressources de test sont en src/test. Vous pouvez ensuite courir comme Oliver dit ci-dessus. Une chose à noter: soyez prudent lors de la définition des fichiers de propriétés et de l’exécution de vos classes de test avec Gradle et votre IDE. J'utilise Eclipse et lors de l'exécution de JUnit à partir de celui-ci, Eclipse choisit un chemin de classe (le répertoire bin), tandis que gradle en choisit un autre (le répertoire de construction). Cela peut prêter à confusion si vous modifiez un fichier de ressources et que votre modification ne soit pas reflétée lors de l'exécution du test.
Si vous avez créé votre projet avec Spring Initializr , tout doit être configuré correctement et il ne vous reste plus qu'à exécuter ...
./gradlew clean test --info
--info
si vous ne voulez pas voir la sortie du test.clean
si vous ne souhaitez pas réexécuter les tests déjà passés depuis le dernier changement.Dépendances requises dans build.gradle
pour les tests dans Spring Boot ...
dependencies {
compile('org.springframework.boot:spring-boot-starter')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
Pour une raison quelconque, le testeur ne vous dit pas cela, mais il génère un rapport HTML dans build/reports/tests/test/index.html
.