Domanda

Io uso le classi nidificate per l'accesso ai membri privati in test JUnit.Sono alaways denominato "TestProxy".

Vorrei togliere loro al momento della generazione tramite maven2, per non includere nel file jar.

  • C'è qualche opzione di configurazione?
  • Può essere fatto con un plugin?Se è così, un prototipo sarebbe bello!;-)

Grazie

Edit:Perché utilizzare i metodi privati?Ho bisogno di iniettare dati dal 3 sistemi di terze parti, che non può essere chiamata per ogni JUnit test.E io davvero non voglio un pubblico setter per i dati privati, o più presto o più tardi, un altro programmatore può fare un cattivo uso di esso.

È stato utile?

Soluzione

Ecco la risposta:Può essere configurato con maven.Basta inserire il seguente codice nel file pom.xml nel costruire/sezione plugin:

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

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

Altri suggerimenti

Per questo tipo di cose che si potrebbe trovare che una formica script è il primo porto di scalo piuttosto che un apposito plugin personalizzato.È semplice per ottenere Maven per l'esecuzione arbitraria di script ant come parte della creazione.Più semplice la creazione di un plugin. Questa domanda ha un'ottima descrizione di come eseguire uno script ant Maven s process-sources costruire in fase di esecuzione.

Su un po ' diverso, mi aspetto che si ottiene un sacco di risposte che ti chiede perché si sono unit test privati con accesso ai membri della classe di...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top