2016-05-26 28 views
0

我目前使用junit-4.12以及mockito-1.10。我试图注入嘲笑成试穿与资源块如如何在试用资源块中模拟变量

try (InputStream inputStream = new FileInputStream("inputFile.txt") { 
    ... 
} 

是否有,我可以为inputStream注入模拟的方法吗?我曾尝试申报inputStreamtry块如下:

InputStream inputStream; 
try (inputStream = new FileInputStream("inputFile.txt") { 
    ... 
} 

然而,Java不喜欢这一点,并抛出错误。

我愿意使用任何其他图书馆,如果我必须,任何帮助将不胜感激!

谢谢。

回答

1

这应做到:

使用PowerMockito

import static org.powermock.api.mockito.PowerMockito.whenNew; 

// ... 
InputStream inputStreamMock = mock(InputStream.class); 
whenNew(FileInputStream.class).withArguments("inputFile.txt").thenReturn(inputStreamMock);