Java 如何使用RESTeasy对多部分/表单数据文件上载端点进行单元测试
我已经使用RESTeasy和mkyong的示例在以下位置创建了一个文档上载端点: 我正在努力为此编写测试,因为似乎不可能创建MultipartFormDataInput对象或InputPart对象 我如何测试或重构它以使单元测试更容易 编辑: 我构建了一个多部分HTTPentity,但无法将其转换为测试rest easy函数所需的MultipartFormDataInput:Java 如何使用RESTeasy对多部分/表单数据文件上载端点进行单元测试,java,unit-testing,multipartform-data,resteasy,Java,Unit Testing,Multipartform Data,Resteasy,我已经使用RESTeasy和mkyong的示例在以下位置创建了一个文档上载端点: 我正在努力为此编写测试,因为似乎不可能创建MultipartFormDataInput对象或InputPart对象 我如何测试或重构它以使单元测试更容易 编辑: 我构建了一个多部分HTTPentity,但无法将其转换为测试rest easy函数所需的MultipartFormDataInput: private HttpEntity buildMultipartData() { MultipartEntit
private HttpEntity buildMultipartData() {
MultipartEntityBuilder builder = MultipartEntityBuilder.create().setContentType(ContentType.MULTIPART_FORM_DATA);
InputStream inputStream = getClass().getClassLoader().getResourceAsStream("testFile");
builder.addBinaryBody("file", inputStream, ContentType.APPLICATION_OCTET_STREAM, "testFile" );
return builder.build();
}
这是一个集成测试。如果您计划编写更多HTTP测试,我建议您进行评估
下面是一个多部分/文件上传示例:我真的希望像单元测试一样进行此操作。您知道是否可以在代码中生成inputPart或MultipartFormDataInput吗?也许这段代码将为您提供一些指针(Apache HTTP客户端):-请参阅第139行
private void saveFile(byte[] content, String filename) {
documentUploadClient.saveDocument(content, filename, uan);
}
private HttpEntity buildMultipartData() {
MultipartEntityBuilder builder = MultipartEntityBuilder.create().setContentType(ContentType.MULTIPART_FORM_DATA);
InputStream inputStream = getClass().getClassLoader().getResourceAsStream("testFile");
builder.addBinaryBody("file", inputStream, ContentType.APPLICATION_OCTET_STREAM, "testFile" );
return builder.build();
}