3
我在編寫具有While循環的方法的JUnit測試時面臨一些困難。我的方法看起來象下面這樣:具有while循環的方法的JUnit
private void deleteMethod(DeleteRequest dr){
// below statement am calling some service which returns me a object after querying it from Database.
SomeObject ob = db.getdata(dr);
while(ob != null) {
// this method deletes the Data from DB
db.deleteData(ob);
// again calling the same service operation as we did before while loop. I have a situation where my service only returns single record at a time. It is avoidable that I need to do a dirty job.
ob = db.getdata(dr);
}
下面是我的JUnit:
@Test
public void testDeleteMethod() throws Exception{
DeleteRequest mockDR = new DeleteRequest();
mockDR.setX(y);
SomeObject mockOB = new SomeObject();
mockOB.setZ(k);
// making a mockcall to the method before I can assert anything
mockClassObject.deleteMethod(mockDR);
}
以上JUnit的方法在執行襲擊越來越永遠和我的理解是它不是走出while循環。我如何解決這個問題。只是提及使用Mockito框架,並不知道是否有任何方法來處理Mockito中的這種情況。
當'ob'等於'null'時,循環終止。如果有的話,是否會發生? –
db在哪裏定義和嘲笑?你有什麼嘗試。請不要命名不是mock的'mockXxx'對象。這裏應該嘲笑的唯一的東西是'db'。 –