Come si scrive un metodo JUnit basato su Mockito per testare questo metodo adduser()
? Ho provato a scriverne uno, ma non funziona con un messaggio di errore che dice che l'eccezione non viene gestita. L'errore viene visualizzato per:Utilizzo di mockito per testare metodi che generano eccezioni personalizzate non rilevate
when(service.addUser("nginx")).thenReturn("apache");
Assumere addUser()
metodo in business class non cattura qualsiasi eccezione e rethrowing non è fatto.
class Business {
public User addUser() throws ServiceException{
User user = service.addUser("nginx");
return user;
}
}
test case METODO:
Qui nella classe di test sto beffarda la classe livello di servizio con l'attributo @Mock
e iniettarlo.
@Mock
Service service;
@InjectMocks
Business business = new Business();
@Test
public void testAddUser() {
when(service.addUser("nginx")).thenReturn("apache");
User user = business.addUser("nginx");
assertNotNull(user);
}
Per favore dimmi come gestire lo scenario di eccezione nel caso di test.
Sei consapevole che tutto ciò che stai testando è che il metodo restituisce qualcosa non nullo. Penso che dovresti affermare che restituisce "apache", perché devi veramente controllare che "service.addUser()" sia stato effettivamente chiamato. –