Jeśli mam klasę z metodą @PostConstruct, jak mogę przetestować jej konstruktora, a tym samym jego metodę @PostConstruct przy użyciu JUnit i Spring? Nie mogę po prostu użyć nowego ClassName (param, param), ponieważ wtedy nie używa Springa - metoda @PostConstruct nie jest uruchamiana.Jak przetestować konstruktor klasy, która ma metodę @PostConstruct przy użyciu Spring?
Czy brakuje tu czegoś oczywistego?
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();
}
Mam coś podobnego (choć nieco bardziej złożonego) niż to, a metoda @PostConstruct nie zostanie trafiona.
Rozumiem to, o czym mówiłem. Ale jak przetestować wiele permutacji tego konstruktora w jednej klasie testowej? Co ja nie mówię o moim pytaniu? – AHungerArtist
Chcę pięć przypadków testowych dla konstruktora tej klasy. Czy naprawdę nie ma lepszego sposobu niż kontekst aplikacji z pięcioma takimi fasolami i załadowanie go? – AHungerArtist
W czasie rzeczywistym, jeśli istnieje 5 możliwych sposobów wstrzyknięcia twojej klasy, obawiam się, że w tym przypadku musisz utworzyć 5 definicji fasoli. –