Moyen facile d'obtenir un fichier de test dans JUnit
Quelqu'un peut-il suggérer un moyen facile d'obtenir une référence à un fichier comme une Chaîne de caractères/InputStream/Fichier/etc type d'objet dans une classe de test junit? Évidemment, je pourrais coller le fichier xml (dans ce cas) comme un géant de la Chaîne ou le lire dans un fichier, mais est-il un raccourci spécifique à Junit comme ça?
public class MyTestClass{
@Resource(path="something.xml")
File myTestFile;
@Test
public void toSomeTest(){
...
}
}
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer
@Rule
annotation. Voici l'exemple de la doc:Vous avez juste besoin de créer
FileResource
classe étendantExternalResource
.Exemple Complet
Si vous avez besoin d'obtenir un
File
objet, vous pouvez effectuer les opérations suivantes:Qui a l'avantage de travailler de la croix-plate-forme, comme décrit dans ce blog.
Je sais que vous avez dit que vous ne voulez pas lire le fichier à la main, mais c'est assez facile
Tout ce que vous avez à faire est de s'assurer que le fichier en question est dans le classpath. Si vous utilisez Maven, il suffit de mettre le fichier dans src/test/resources et Maven qui sera inclus dans le classpath lors de l'exécution de vos tests. Si vous avez besoin de faire ce genre de chose beaucoup, pourrais-tu mettre le code qui ouvre le fichier dans une super-classe et votre tests héritent de cette.
Vous pouvez essayer de faire:
Si vous voulez charger une ressource de test de fichier comme une chaîne de caractères avec seulement quelques lignes de code et sans supplément dépendances, cela fait l'affaire:
"\\A" correspond au début de l'entrée et il n'y a qu'un seul. Donc, cela permet d'analyser l'ensemble du contenu du fichier et retourne une chaîne de caractères. Le meilleur de tous, il ne nécessite pas un 3ème partie les bibliothèques (comme IOUTils).