3 回答

TA貢獻1820條經驗 獲得超10個贊
您可以Mockito.doAnswer( answer )更好地控制創建的String
所以像:
List<String> blacklist = Arrays.asList("aaaa","bbbb");
Mockito.doAnswer((i)-> {
String x=RandomStringUtils.random(4);
while(blacklist.contains(x)){
x=RandomStringUtils.random(4);
}
return x;
}).when(helperObject).obtainAsString();

TA貢獻1847條經驗 獲得超11個贊
雖然我不知道如何做“除某些字符串外的任何字符串”,但這解決了我的問題:
@Test
public void testMethod_notThisString(){
whenever(helperObject.obtainAString()).thenReturn(HelperObject.CONSTANT1, HelperObject.CONSTANT2, HelperObject.CONSTANT3);
instantiatedClass.method()
verify(someOtherObjectWithAMethod).thisMethod("differentarg");
}
這遵循Overriding Stubbing的邏輯。
添加回答
舉報