2017-07-03 55 views
1

下面的代碼片段從一個單位的Mockito提取測試我的工作:當Mockito的「何時」有多次「返回」呼叫時,這意味着什麼?

 Mockito.when(clientResource.getJobStatus(JOB_ID)) 
      .thenReturn(createJobStatus(JOB_ID, com.test.models.JobStatus.State.IDLE)) 
      .thenReturn(createJobStatus(JOB_ID, com.test.models.JobStatus.State.STARTING)) 
      .thenReturn(createJobStatus(JOB_ID, com.test.models.JobStatus.State.RUNNING)); 

是什麼意思時,Mockito.when(...)有多個thenReturn(...)的後鏈接?

回答

1

這意味着它將按照它們聲明的順序返回這些值或answers

getJobStatus()的第一次調用返回createJobStatus(JOB_ID, com.test.models.JobStatus.State.IDLE)

第二個電話會返回createJobStatus(JOB_ID, com.test.models.JobStatus.State.STARTING)

等等......

你可以看到,在this methodanswers正在從queue調查。

+0

就這樣,當相同的模擬方法被多次調用時,這些答案將是它按順序點擊的答案。知道了謝謝。 –

相關問題