Rimuovere nidificati test di classi con maven2
-
09-09-2019 - |
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.
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...