problem z mockito

0

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

try{
     if(tablea1.getId() == null) {
	     entityManager.persist(tablea1);
	} else {
	    entityManager.merge(tablea1);
		}		
    }
catch (Exception e) { ...... jakis exception }
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());

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?

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 ;)

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ć :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1