簡體   English   中英

Mocking InputStream、InputStreamReader 和 BufferedReader

[英]Mocking InputStream, InputStreamReader and BufferedReader

我有以下代碼:

InputStream inputStream = sftpConfig.getSftpChannel().get(fileAbsolutePath);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)))
String line = bufferedReader.readLine();

我想要的只是模擬這些行,並在bufferedReader.readLine()中保持靈活,因為我將有幾個測試用例取決於行(文件為空且行為 null 的情況,我只得到的情況一條線,我得到幾條線的情況等)。

注意:我正在使用jsch庫訪問 FTP 服務器上的文件,因此方法getSftpChannel()具有ChannelSftp作為返回類型,而get(fileAbsolutePath)具有InputStream

我正在使用junit 4.12mockito 3.1.0

提前致謝!

實例化 ByteArrayInputStream 實例而不是 mocking 實例並用您需要的數據填充它可能更容易,例如

var stream = new ByteArrayInputStream("hello".getBytes());

你可以用它代替你的 InputStream。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM