Я не уверен, что сразу задаете ожидания всей цепочке методов, но это не так, как это работает. Вы должны установить ожидание для каждого вызова метода отдельно.
В вашем случае, поскольку первым вызовом метода является статический вызов, вы должны использовать powermock и установить ожидание и вернуть для него посмеянный экземпляр. Затем вы должны добавить ожидание второго вызова метода. Я привел пример кода ниже. Проверьте, работает ли он в вашем случае.
@RunWith(PowerMockRunner.class)
@PrepareForTest({SampleClass.class})
public class SimpleClassTest{
@Test
public void test(){
PowerMock.mockStatic(SampleClass.class);
SampleClass sampleClassInstance = EasyMock.createMock(SampleClass);
EasyMock.expect(SampleClass.getInstance).andReturn(sampleClassInstance);
EasyMock.expect(sampleClassInstance.getSampleMethod(/*required parameter goes here*/).andReturn(/*Otherclass instance goes here*/);
PowerMock.replayAll();
EasyMock.replay(sampleClassInstance);
}
}
Давая ответ, предпочтительно, чтобы дать [какое-то объяснение, почему ваш ответ] (http://stackoverflow.com/help/how-to-answer) является один. –
Спасибо за предложение @StephenRauch Я отредактировал свой отзыв :) – Sravya