2016-09-20 99 views
0

http://mockito.org/網站中給出以下示例代碼來描述mockito框架的用法。但是我無法理解下面的代碼試圖測試什麼。請在下面的代碼中對它進行評論,因爲它正在測試什麼。如果它正在測試列表的添加方法,它會有什麼期望?描述Mockito示例代碼

import static org.mockito.Mockito.*; 

// mock creation 
List mockedList = mock(List.class); 

// using mock object - it does not throw any "unexpected interaction" exception 
mockedList.add("one"); 
mockedList.clear(); 

// selective, explicit, highly readable verification 
verify(mockedList).add("one"); 
verify(mockedList).clear(); 

回答

0

在你的情況,你的測試準備

// mock creation 
List mockedList = mock(List.class); 

測試執行

// using mock object - it does not throw any "unexpected interaction" exception 
mockedList.add("one"); 
mockedList.clear(); 

和試驗驗證(不包括主要的Mockito的東西做這樣的assertEquals

// selective, explicit, highly readable verification 
verify(mockedList).add("one"); 
verify(mockedList).clear(); 

最後一個塊(測試verifaction)是測試中,如果

  • 的mockedList的附加方法,與等於字符串「一」
  • 的mockedList的明確方法被調用的參數稱爲

它是用嘲笑類的相互作用如何可以驗證(因爲你無法驗證清單的內容,因爲它已被嘲弄和add("one")clear()調用不改變只是一個基本的演示列表內容)。