0

コンソールからテキストを入力しないように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);
       }

}
4

1 に答える 1

5

BufferedReader モックを渡してupdateSongNames(bufferedReader)、メソッド内でインスタンス化しないようにする必要があります。

于 2012-06-23T11:53:15.150 に答える