mam ten kod:Wstrzyknięcie fasoli Mockito i CDI, czy wywołanie @InjectMocks @PostConstruct?
class Patient {
@Inject Syringe syringe;
@PostConstruct
void sayThankyouDoc() {
System.out.println("That hurt like crazy!");
}
}
@RunWith(MockitoJUnitRunner.class)
class TestCase {
@Mock
Syringe siringeMock;
@InjectMocks
Patient patient;
//...
}
spodziewałem Mockito zadzwonić PostConstruct, ale musiałam dodać:
@Before
public void simulate_post_construct() throws Exception {
Method postConstruct = Patient.class.getDeclaredMethod("sayThankyouDoc", null);
postConstruct.setAccessible(true);
postConstruct.invoke(patient);
}
Czy istnieje lepszy sposób to zrobić?
inny projekt, który jest zarówno bardziej czytelne i łatwiejsze do sprawdzenia, czy nie używać '@ PostConstruct' w ogóle, i użyć konstruktora wtrysku zamiast zastrzyku pola – geoand
@geoand ale co to jest wstrzyknięcie konstruktora? – gurghet
Zobacz moją odpowiedź poniżej – geoand