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'。 –