У меня есть метод, который выполняет проверку, чтобы узнать, разрешен ли пользователь, а затем имеет другую логику, которую я хочу проверить, для авторизации моего пользователя.Как издеваться над методом, чтобы возвращать что-то вместо исключения исключения (PowerMock?)
Итак, у меня есть static метод OAuthUtil.retrieveAuthority()
, который возвращает строку, скажем, «домен».
Мой конструктор что-то вроде
public ImplService(){
String authority = OAuthUtil.retrieveAuthority();
//do something else
}
И у меня есть еще один метод, который является один я на самом деле пытаюсь проверить, скажу getList()
.
retrieveAuthority()
в свою очередь может вызывать исключение aWebApplicationException, если Subject имеет значение null, которое оно всегда будет, но я хочу полностью обходить это. Итак, я хочу, чтобы мой макет возвращал что-то («домен») вместо того, чтобы бросать исключение. Это возможно?
Итак, мой тест что-то вроде этого прямо сейчас, и он терпит неудачу, когда исключение встречается:
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.modules.junit4.PowerMockRunner;
@RunWith(PowerMockRunner.class)
public class TestMine {
public ImplService impl;
@Before
public void setUp() {
PowerMockito.mockStatic(OAuthUtil.class);
PowerMockito.when(OAuthUtil.retrieveAuthority()).thenReturn("domain");
ImplService impl = new ImplService();
}
@Test
public void getListTest() throws NotFoundException {
Response response = impl.getList();
}
}