2010-12-07 27 views
1

J'ai paramétré test junit qui lit à partir de plusieurs fichiers d'entrée XML. Dans le code, je l'ai comme ceci:où mettre maven paramétré junit entrée fichiers xml

@Parameters 
public static Collection<Object[]> getFiles() { 
    Collection<Object[]> params = new ArrayList<Object[]>(); 
    for (File f : new File(".").listFiles(new someInputFileFilter())) { 
    Object[] arr = new Object[] { f }; 
    params.add(arr); 
    } 
    return params; 
} 

Quelle est la méthode recommandée pour inclure éventuellement des centaines de ces fichiers d'entrée XML sous Maven? Où est-ce que je le mets? Et quels changements dois-je apporter à POM et au code source ci-dessus pour lire ces fichiers XML?

Répondre

0

Placez les fichiers quelque part dans src/test/resources, par exemple src/test/resources/xmlfiles; cela amènera Maven à les refléter automatiquement dans target/test-classes. Ensuite, vous pouvez les consommer comme described by James Lorenzen:

URL path = this.getClass().getResource("/xmlfiles"); 
File xmlfileDir = new File(url.getFile()); 
for (File f : xmlfileDir.listFiles(new ...Filter())) { 
    .... 
} 

Aucun changement POM ne devrait être nécessaire.

+0

existe-t-il une alternative à this.getClass(). GetResource ("/ xmlfiles"); ? J'utilise junit paramétré avec la méthode statique. – bob

+0

@bob essayez 'MyTestClass.class.getResource ("/xmlfiles ")' – yegor256