[英]Releasing resources acquired by BufferedReader, InputStreamReader and InputStream
[英]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.12
和mockito 3.1.0
提前致謝!
實例化 ByteArrayInputStream 實例而不是 mocking 實例並用您需要的數據填充它可能更容易,例如
var stream = new ByteArrayInputStream("hello".getBytes());
你可以用它代替你的 InputStream。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.