Je rencontre un problème qui empêche IntelliJ 13.1.4, lors de l'exécution d'un test unitaire, de trouver un fichier ServiceLoader
dans le répertoire src/test/resources
de mon module.
Veuillez noter avant de répondre que j'ai effectué toutes les tâches suivantes:
gradle test
, le test unitaire s’exécute correctement.src/test/resources
est marqué comme étant un répertoire de ressources de test. (Voir capture d'écran ci-dessous.)build/classes/test/
et build/classes/Java
, mais ni build/resources/test/
ni build/resources/main/
.Des idées sur ce qui pourrait faire qu'IntelliJ échoue ici?
Capture d'écran de la configuration de mon module, illustrant le paramètre Tester les dossiers de ressources.
J'ai réussi à l'améliorer en créant un répertoire test-resources
parallèle au répertoire test
(!).
Encore voir des problèmes intermittents avec cela, cependant. Il est alors possible d'ouvrir les paramètres du projet IntelliJ et de définir les ressources de test sous la forme source (le projet Gradle restera inchangé).
Doit être un bogue IntelliJ, car j'ai connu la même chose dans Android Studio.
MODIFIER:
J'ai trouvé une solution de contournement au problème.
Ajoutez les éléments suivants à la fin de la configuration Gradle (et spécifiez le chemin de vos ressources de test):
task copyTestResources(type: Copy) {
from "${projectDir}/src/test/resources"
into "${buildDir}/classes/test"
}
processTestResources.dependsOn copyTestResources
Je rencontre un problème similaire avec IntelliJ 14. Malgré le fait que les fichiers nécessaires se trouvent dans mon dossier de ressources et que le dossier est spécifié comme ressource dans les paramètres du module, IntelliJ ne parvient pas à charger mes fichiers sur le chemin d'accès aux classes.
Une solution consiste à ajouter le dossier requis en tant que dépendance du module dans les paramètres du module.
Tout d’abord, cliquez sur le bouton "+" pour ajouter une nouvelle dépendance.
Ensuite, sélectionnez le dossier que vous souhaitez ajouter au chemin de classe.
Ensuite, sélectionnez l'option "classes".
Une fois que cela est fait, reconstruisez votre module une fois et espérons que cela devrait faire l'affaire.
Idéalement, cela ne devrait pas du tout être un problème. Tous les fichiers du dossier de ressources doivent être directement placés dans le chemin de classe. Cependant, chaque IDE a ses bizarreries.
Lorsque je rencontrais le même problème, cela fonctionnait pour moi une fois unmark le répertoire des ressources en tant que racine des ressources, puis le marquer à nouveau en tant que racine des ressources:
Dans mon cas, j’ai simplement exécuté les tests via la ligne de commande maven, c’est-à-dire un mvn clean install
de base. Après cela, cela a fonctionné dans IDEA.
J'ai rencontré le même problème, où Junit échouait (FileNotFound) car j'avais de l'espace dans le dossier de mon projet racine. Exemple: mon projet/projet1/....