У меня сейчас есть несколько тестов, которые используют PowerMock и Mockito для «издевательства над объектами». Проблема в том, что все эти тесты снова и снова создают одни и те же макеты. Возможно ли иметь абстрактный класс, из которого выводится мой тест, который предварительно издевается над этими объектами?
Пример :
public abstract class AbstractTest {
public void initialize() {
PowerMockito.mockStatic(StaticMock.class);
when(StaticMock.doSomething()).thenReturn(true);
}
}
@RunWith(PowerMockRunner.class)
@PrepareForTest(StaticMock.class) // BanManager.class contains static methods
public class Test extends AbstractTest {
@SuppressWarnings("serial")
@Test
public void testWithPerms() {
initialize();
SomeObject obj = new SomeObject();
obj.doSomething();
PowerMockito.verifyStatic();
Static.verifyIsCalled();
}
}
Как я мог сделать что-то вроде вышеперечисленного, что действительно сработало? Это дает мне несогласованные кадры карты стека
EDIT: Спасибо за ваш ответ. На самом деле моя проблема была связана с тем, что я использовал версию PowerMock, несовместимую с java 7. Тем не менее, ваше указание будет полезно.