gpt4 book ai didi

java - 如何测试 primefaces UploadedFile 组件的 JUnit 测试用例

转载 作者:行者123 更新时间:2023-12-01 18:45:10 25 4
gpt4 key购买 nike

我想使用 JUnit 测试用例来测试文件上传组件。我有办法获得 UploadedFile 的模拟实现。我正在使用下面的代码从 UI 读取上传的文件。

public void XXXX(final FileUploadEvent event) {

final String uniqueFolderName = this.getUniqueFolderName();

final org.primefaces.model.UploadedFile uploadedFile = event.getFile();

final UploadedFileWrapper uploadedFileWrapper = new UploadedFileWrapper(uploadedFile,
UploadedFile.Status.FILE_SAVED, uniqueFolderName);

if (!new Boolean(this.multiple)) {
LOGGER.debug("only single upload is allowed", this.getMultiple());
this.clearUploadedFiles();
}

this.uploadedFiles.add(uploadedFileWrapper);
}

您能帮我如何为此组件创建模拟实现吗?

最佳答案

这就是 Mockito 的实现方式:

    File file = new File("src/test/TestUploadFile.txt");
InputStream inputStream = new FileInputStream(file);
FileUploadEvent event = Mockito.mock(FileUploadEvent.class);
UploadedFile uploadedFile = Mockito.mock(UploadedFile.class);
Mockito.when(uploadedFile.getFileName()).thenReturn(file.getName());
Mockito.when(uploadedFile.getContentType()).thenReturn("application/octet-stream");
Mockito.when(uploadedFile.getInputstream()).thenReturn(inputStream);
Mockito.when(event.getFile()).thenReturn(uploadedFile);

我提取一个测试文件并创建一个输入流。然后我模拟 FileUploadEvent 和 UploadedFile 并设置我需要的特定属性,您可能需要模拟更多属性。

关于java - 如何测试 primefaces UploadedFile 组件的 JUnit 测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18076454/

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