我目前正在使用junit-4.12
和mockito-1.10
。我试图将模拟注入try-with-resource块,例如
try (InputStream inputStream = new FileInputStream("inputFile.txt") {
...
}
有没有办法可以为inputStream
注入模拟?我已尝试在inputStream
块之外声明try
,如下所示:
InputStream inputStream;
try (inputStream = new FileInputStream("inputFile.txt") {
...
}
但是,Java不喜欢这样并抛出错误。
如果必须,我愿意使用任何其他图书馆,我们将不胜感激任何帮助!
感谢。
答案 0 :(得分:2)
这应该这样做:
import static org.powermock.api.mockito.PowerMockito.whenNew;
// ...
InputStream inputStreamMock = mock(InputStream.class);
whenNew(FileInputStream.class).withArguments("inputFile.txt").thenReturn(inputStreamMock);