繁体   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