gpt4 book ai didi

java - 如何在 try-with-resource block 中模拟变量

转载 作者:行者123 更新时间:2023-11-30 02:55:06 29 4
gpt4 key购买 nike

我目前正在使用junit-4.12以及mockito-1.10 。我正在尝试将模拟注入(inject) try-with-resource block ,例如

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

有没有办法可以为inputStream注入(inject)模拟?我尝试声明 inputStream try 之外 block 如下:

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

但是,Java 不喜欢这样并会抛出错误。

如果必须的话,我愿意使用任何其他库,任何帮助将不胜感激!

谢谢。

最佳答案

这应该可以做到:

使用 PowerMockito

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

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

关于java - 如何在 try-with-resource block 中模拟变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37470936/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com