Ho una classe che ha la responsabilità di importare i contratti da un CSV al database.Classe di test Java con molti metodi privati
La classe stessa ha solo un metodo pubblico che avvia l'importazione e gli altri metodi sono tutti privati (perché solo la classe stessa utilizzerà e la logica è la stessa).
Sto iniziando a fare test per questa classe usando Spock e ci sono molti metodi privati, come dovrei testarlo?
Devo renderli pubblici per testare? Prova solo il metodo principale, quello pubblico?
Qual è il migliore?
Se è necessario eseguire un test JUnit su tali metodi, è necessario che siano "pubblici". Potrebbe causare problemi per farlo? – Ascalonian
È possibile convertire questi metodi privati in metodi di pacchetto (anziché pubblici), quindi il test deve essere nello stesso pacchetto. – Gus
Ti consiglio di leggere questo post in SO: http://stackoverflow.com/questions/105007/should-i-test-private-methods-or-only-public-ones –