Se ho una classe con un metodo @PostConstruct, come posso testare il suo costruttore e quindi il suo metodo @PostConstruct usando JUnit e Spring? Non posso semplicemente usare il nuovo ClassName (param, param) perché non usa Spring - il metodo @PostConstruct non viene licenziato.Come testare il costruttore di una classe che ha un metodo @PostConstruct che usa Spring?
Mi manca qualcosa di ovvio qui?
public class Connection {
private String x1;
private String x2;
public Connection(String x1, String x2) {
this.x1 = x1;
this.x2 = x2;
}
@PostConstruct
public void init() {
x1 = "arf arf arf"
}
}
@Test
public void test() {
Connection c = new Connection("dog", "ruff");
assertEquals("arf arf arf", c.getX1();
}
ho qualcosa di simile (anche se un po 'più complessa) di questo e il metodo @PostConstruct non viene colpito.
Lo capisco, come ho affermato. Ma come posso testare più permutazioni di questo costruttore all'interno di una classe di test? Cosa non sto dicendo chiaramente sulla mia domanda? – AHungerArtist
Voglio cinque casi di test per il costruttore di questa classe. Non c'è davvero modo migliore di avere un contesto app con cinque di questi bean e caricarlo? – AHungerArtist
In tempo reale se ci sono 5 possibili modi per iniettare la tua classe, allora temo di dover creare 5 definizioni di bean in quel caso. –