1 回答
TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超10個(gè)贊
如果您無法重構(gòu)代碼,則需要spy為您的類創(chuàng)建一個(gè)(以模擬getUserDataFromExt)。
然后你可以使用thenAnswer修改你的 HashMap 并返回列表:
when(spy.getUserDataFromExt()).thenAnswer(
new Answer() {
public Object answer(InvocationOnMock invocation) {
// get your method arguments
Object[] args = invocation.getArguments();
// do whatever with your hashmap
// return your list
return ...
}
}
);
如果您可以重構(gòu)代碼,最好將該方法移至getUserDataFromExt其他方法并對其進(jìn)行模擬。您仍然可以使用相同的方式修改參數(shù)和結(jié)果。
您可能還需要考慮更改方法的行為 - 因?yàn)樾薷膮?shù)并返回結(jié)果 - 從其他開發(fā)人員的角度來看可能是非常意外的。
添加回答
舉報(bào)
