Использование mockito для тестирования методов, которые выдают необработанные пользовательские исключения - PullRequest
28 голосов
/ 11 февраля 2012

Как мне написать метод JUnit на основе Mockito для тестирования этого метода adduser()?Я попытался написать один, но он терпит неудачу с сообщением об ошибке, говорящим, что исключение не обработано.Ошибка отображается для:

when(service.addUser("nginx")).thenReturn("apache");

Предположим, что метод addUser() в бизнес-классе никогда не перехватывает никаких исключений, и повторное бросание не выполняется.

class Business {
    public User addUser() throws ServiceException{
        User user = service.addUser("nginx");
        return user;
    }
}

МЕТОД ТЕСТА:

Здесь, в тестовом классе, я высмеиваю класс сервисного уровня с атрибутом @Mock и внедряю его.

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

Скажите, пожалуйста, как обрабатывать сценарий исключения в тестовом примере.

1 Ответ

53 голосов
/ 11 февраля 2012

Объявите исключение в методе теста.

public void testAddUser() throws ServiceException{
...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...