以前一直對這兩個註解的區別不是很明白。java
搜到過一篇博客園的文章舉例說明了代碼行爲的區別。後來在stackoverflow上看到一個問答簡單明瞭的解釋了這兩個註解在定義上的區別:this
在此翻譯記錄一下:spa
//譯文Begin:.net
@Mock: 建立一個Mock.翻譯
@InjectMocks: 建立一個實例,其他用@Mock(或@Spy)註解建立的mock將被注入到用該實例中。code
注意:必須使用@RunWith(MockitoJUnitRunner.class)
或 Mockito.initMocks(this)
進行mocks的初始化和注入。blog
// 譯文end.get
Credit to the questioner and answerer. 博客