我有一個方法,預計會返回類型的HashMap的結果,我需要單元測試它。 該方法應該接收一個字符串並顯示每三個字符的出現次數。如何模擬預期返回HashMap的方法?
public HashMap<String,Integer> findOccurences(String myStr){
return null;
}
我需要知道如何使用Mockito爲其編寫單元測試。
public class TestMySubString {
@Mock
private static MySubString mockedMySub;
private static String str;
private static HashMap<String,Integer> result;
@BeforeClass
public static void setUp(){
str = "This This";
result.put(" Th", 1);
result.put("s T",1);
result.put("his",2);
result.put("Thi ",2);
result.put("is ",1);
when(mockedMySub.findOccurences(str)).thenReturn(result);
}
@Test
public void testFindOccurences() {
HashMap<String,Integer> myResult = mockedMySub.findOccurences(str);
//assertReflectionEquals(result,myResult);
}
在此基礎上question我用assertReflectionEquals但它仍然會返回一個錯誤。
你能發表一個錯誤? – aviad 2014-10-07 06:39:21
再去看看你鏈接到的問題。比較不在地圖之間,而是循環檢查每個條目。 – azurefrog 2014-10-07 06:39:41
不可以。你不應該嘲笑你想要測試的班級。嘲笑就是消除類別的副作用,而不是你正在測試的類別。你做這一切都是錯誤的。 – 2014-10-07 06:42:28