У меня есть следующий класс:PowerMockito: как издеваться над методами, вызываемыми конструктором?
public class Foo {
public Foo() {
initField1();
initField2();
initField3();
}
}
мне нужно изменить поведение (высмеивать) initField1()
и initField3()
для них делать ничего не делать или что-то еще, что они на самом деле. Я заинтересован в выполнении фактического кода initField2().
Я хочу написать следующий тест:
Foo foo = new Foo();
assertTrue(foo.myGet());
myGet()
возвращает атрибут Foo, который был вычисленной initField2()
.
Методы initField()
, конечно, являются частными.
Как я могу это сделать?
Спасибо за вашу помощь и наилучшие пожелания.
Это устаревший код. Я предпочитаю не изменять тестируемый класс, называя новый конструктор, принимающий аргументы, например. Я хочу, чтобы выполнялся только 'initField2()', потому что он отвечает за настройку поля, которое я хочу проверить. Мне не интересно тестировать остальную логику конструктора. –
Mockito предназначен для моделирования взаимодействия, PowerMock предназначен для издевательства над частичной внутренней обработкой класса для устаревшего кода, поэтому этот ответ просто неверен. – eis