gpt4 book ai didi

class - PowerMockito doReturn null 对象

转载 作者:行者123 更新时间:2023-12-04 14:50:13 26 4
gpt4 key购买 nike

我有这个工作正常的代码。


public class MyClass implements Serializable {

...

private UploadedFile uploadedFile;

public UploadedFile getUploadedFile() {
return uploadedFile;
}

public void setUploadedFile(UploadedFile uploadedFile) {
this.uploadedFile = uploadedFile;
}

public void fileRead(){
...
Scanner scanner = new Scanner(uploadedFile.getInputStream());
while (scanner.hasNextLine()) { ...}
...

}

现在我想为它创建一个测试。
问题是,当我运行下面的测试代码时,uploadFile 在到达 Scanner 行时为 null。
我需要在 @Test 方法中更改什么才能使 UploadFile 在 Scanner 行中不为 null?

@Test
public void emptyFileTest() throws Exception {
...
UploadedFile uploadedFile = Mockito.mock(UploadedFile.class);
PowerMockito.doReturn(new ByteArrayInputStream("".getBytes())).when(uploadedFile).getInputStream();
this.myClass.fileRead();
...
}
我也试过这个,但结果相同。
PowerMockito.when(uploadedFile.getInputStream()).thenReturn(new ByteArrayInputStream("".getBytes()));

最佳答案

看起来不像你在 myClass 中设置了 uploadFile 变量

PowerMockito.doReturn(new ByteArrayInputStream("".getBytes())).when(uploadedFile).getInputStream();


你可以更轻松地做同样的事情: new ByteArrayInputStream(new byte[0]) .无需使用字符串来创建空字节数组。

关于class - PowerMockito doReturn null 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69217576/

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