无法使用 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);
       }
}

你必须传递你的 BufferedReader 模拟,例如像updateSongNames(bufferedReader),而不是在方法中实例化它

相关内容

  • 没有找到相关文章

最新更新