2012-06-23 57 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

相关问题