2017-07-03 3 views
1

は、私が働いているmockitoユニットテストから抽出したコードスニペットです:Mockitoの「when」に複数の「thenReturn」コールがあるとはどういう意味ですか?ここ

 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)

2番目の呼び出しがそうでcreateJobStatus(JOB_ID, com.test.models.JobStatus.State.STARTING)

と返されますが返されます...

あなたはthis methodanswersqueueからポーリングされていることがわかります。

+0

そうですね、同じモックメソッドが複数回呼び出されると、これらの答えは順番にヒットします。了解、ありがとう。 –

関連する問題