je le code suivant:Comment puis-je écrire unité d'essai pour persister et exceptions chasse
try {
em.persist(myObject);
em.flush();
}
catch (Exception e) {
System.out.println("An Exception occur when trying to persist and flush");
}
Dans l'essai j'ai simulé mon EntityManager avec Mockito:
@Mock
EntityManager mockEm;
mais persistent et rincer sont méthodes vides, je ne peux pas capable d'écrire quelque chose comme:
when(mockEm.persist(anObject).then(doSomeThing);
Comment puis-je écrire des tests unitaires (JUnit) à mo ck em.persist et em.flush afin de tester les deux cas avec et sans exception? Merci.
Cette réponse ne peut pas être simplement répondue. Que voulez-vous tester exactement - que se passe-t-il ** dans ** 'persist()/flush()' - ou êtes-vous seulement intéressé à vérifier que ces deux méthodes sont invoquées sur l'objet 'em'? – GhostCat
Je veux tester quand persist ou flush retourne une exception comme EntityExistException ou PersistenceException. Dans ce cas, mon code va attraper l'exception et je veux tester ce code vraiment attraper et exécuter le code correspondant. –
Ensuite, vous voulez probablement * mock * cet objet em et le faire jeter une exception lors des appels à ces méthodes. – GhostCat