problem z mockito

problem z mockito
0

Hej, jak zamockować metodę persist i merge żeby nie wyrzucała wyjątku:

Kopiuj
try{
     if(tablea1.getId() == null) {
	     entityManager.persist(tablea1);
	} else {
	    entityManager.merge(tablea1);
		}		
    }
catch (Exception e) { ...... jakis exception }
Freakman
  • Rejestracja:ponad 18 lat
  • Ostatnio:ponad 7 lat
0

sprecyzuj co sprawia Ci problem.

cos w deseń:

when(entityManager.persist(any())).thenReturn(true);

Jesli persist nie zwraca nic ( void ) to mniej wiecej:

doNothing().when(entityManager).persist(any());


play hard..go pro.
0

Jesli metoda nic nie zwraca, i nie chcesz wymusic jakiegos zachowania, to nic nie rob - nie rozumiem problemu. Jestes pewien ze ten wyjatek rzuca metoda persist mocka, czy moze jakies NPE tam gdzies leci, bo tablea1 jest null czy cos?

Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

A nie jest czasem tak że jak wywołasz na mocku metodę której nie oczekiwałeś to poleci wyjątek? Powermock ma od tego tzw. NiceMock które w takiej sytuacji zwracają nulle i nie rzucają wyjątkami ;)


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
0

Nie, w mockito taka metoda po prost nic nie zwraca, ale mozesz zrobic verify(mock).metoda() zeby sprawdzic czy zostala wywolana. Aby dostac wyjatki nalezy je osobiscie i bez ceregieli stubowac.

0

Dzięki koledzy, trochę tego szukałem i zmęczył mnie po prostu temat, ale widzę że są jeszcze ludzie, którzy chcą pomagać :)

edytowany 1x, ostatnio: Koziołek

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.