2012-06-23 56 views
0

我在寫一個測試用例,我試圖使用mockito避免通過控制檯輸入文本。但是在運行測試用例時,它會等待輸入到控制檯中的東西(這又是我無法做到的),而不是從mockito中獲取它。希望有人能幫忙。測試代碼如下所示:無法使用mockito模擬方法調用

SongsNameUpdater songsNameUpdater = new SongsNameUpdater(); 
bufferedReader = mock(BufferedReader.class); 
when(bufferedReader.readLine()).thenReturn("test Path"); 
songsNameUpdater.updateSongNames(); 

主要代碼:

public class SongsNameUpdater { 
     public void updateSongNames() throws IOException { 
       bufferedReader = new BufferedReader(new InputStreamReader(System.in)); 
       String path = bufferedReader.readLine(); 
       System.out.println(path); 
     } 

} 

回答

5

你必須通過例如你的BufferedReader模擬像updateSongNames(bufferedReader)並沒有在方法內實例化它

+0

Yups ..它得到它的工作。非常感謝:) – mindreader

+0

@mindReader你應該驗證Omnaest的答案;) – Brice

+0

@Brice:我沒有:) – mindreader

相關問題