Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用RESTeasy对多部分/表单数据文件上载端点进行单元测试_Java_Unit Testing_Multipartform Data_Resteasy - Fatal编程技术网

Java 如何使用RESTeasy对多部分/表单数据文件上载端点进行单元测试

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

我已经使用RESTeasy和mkyong的示例在以下位置创建了一个文档上载端点:

我正在努力为此编写测试,因为似乎不可能创建MultipartFormDataInput对象或InputPart对象

我如何测试或重构它以使单元测试更容易

编辑:

我构建了一个多部分HTTPentity,但无法将其转换为测试rest easy函数所需的MultipartFormDataInput:

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();
}