I'm having such a method :
@PostMapping("/methodToBeMocked")
public GenericMessage methodToBeMocked(@QueryParam(value = "msg") Long msg) {
try {
JmsMessageConstruct.buildId();
b.saveToDbUsingHibernate(new Object());
} catch (Exception ex) {
GenericMessage genericMessage = new GenericMessage();
genericMessage.setStatus("KO");
return genericMessage;
}
GenericMessage genericMessage = new GenericMessage();
genericMessage.setStatus("OK");
return null;
}
public class B {
@PersistenceContext
EntityManager entityManager;
public void saveToDbUsingHibernate(Object obj) {
entityManager.persist(obj);
}
}
The issue is that i can not mock the b method so when i call the method saveToDbUsingHibernate it will throw an exception. Actually the method saveToDbUsingHibernate will not throw an explicit exception because it's calling Hibernate JPA EntityManager to save it.