[英]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.