Скажем, у меня есть класс, как это:Контроллинг метода вывода с Mockito
public class RegularStuff {
public int getAmountOfStuff() {
int stuff = getAmount();
return stuff;
}
public int getAmount() {
return 10;
}
}
Теперь, скажем, у меня есть тестовый модуль, как так:
@RunWith(PowerMockRunner.class)
public class StuffTest {
private RegularStuff testobject;
@Before
public void setUp() {
testObject = new RegularStuff();
}
@Test
public void testGetAmountOfStuff() {
int result = testObject.getAmountOfStuff();
assertEquals(5, result);
}
}
Заметим, что приведенное утверждение является недействительным. Он будет терпеть неудачу, потому что метод getAmountOfStuff вызывает другой метод, который всегда возвращает 10. Я разделил их, чтобы сделать код более простым для анализа. Это может показаться тривиальным в этом примере, но я часто нахожу, что создаю гораздо более крупные методы. Таким образом, я разделяю код в заданной функции. В противном случае чистое количество текста становится слишком большим/запутанным для анализа или исправления, не говоря уже о тестировании.
Так что мне нужно знать, как контролировать вывод определенных методов в классе, который я тестирую.
Это сработало. Спасибо. –