Question

J'utilise des classes imbriquées pour accéder à des membres privés dans les tests JUnit. Ils sont nommés alaways « TestProxy ».

Je voudrais les supprimer au moment de la construction en utilisant maven2, ne pas inclure dans le fichier jar.

  • Y at-il une option de configuration?
  • Peut-il être fait avec un plug-in? Dans ce cas, un prototype serait bien! ; -)

Merci

Edit: Pourquoi utiliser des méthodes privées? Je dois injecter des données à partir des systèmes 3ème partie, qui ne peut pas être appelé pour chaque essai de JUnit. Et je ne veux vraiment pas un setter public des données privées, ou plus tôt ou plus tard, un autre programmeur peut faire un mauvais usage.

Était-ce utile?

La solution

Voici la réponse: Il peut être configuré avec Maven. Il suffit d'insérer le code suivant dans le fichier pom.xml dans la construction / section plugins:

<plugin>
 <groupId>org.apache.maven.plugins</groupId>
 <artifactId>maven-jar-plugin</artifactId>
 <configuration>
   <excludes>
     <exclude>**/*$TestProxy*</exclude>
   </excludes>
 </configuration>
</plugin>

@see la Documentation: http: // maven.apache.org/plugins/maven-jar-plugin/jar-mojo.html#excludes

Autres conseils

Pour ce genre de chose que vous pourriez trouver un script fourmi est le premier port d'escale plutôt qu'un plugin personnalisé dédié. Il est simple d'obtenir Maven pour exécuter des scripts arbitraires fourmis dans le cadre de la construction. Que la création d'un simple plug-in. Cette question a une excellente description de la façon dont pour exécuter un script ant avec la construction de la phase d'exécution de process-sources Maven.

Sur une note légèrement différente, je vous attends obtiendrez un tas de réponses pour vous demander pourquoi vous êtes tests unitaires membres de la classe privée accessibles ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top