我不確定您是否將整個方法的預期一次設置爲整個方法鏈,但這不是它的工作原理。您必須分別設置每個方法調用的期望值。
在你的情況,作爲第一個方法調用是一個靜態調用,你應該使用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