您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用MockMultipartHttpServletRequest进行单元测试(在ItemInputStream.makeAvailable中引发NullPointerException)

使用MockMultipartHttpServletRequest进行单元测试(在ItemInputStream.makeAvailable中引发NullPointerException)

我从库中插入了源代码,无论如何,您都需要发送内容。库可能需要在skip方法中检查它是否为null

MockMultipartHttpServletRequest request
request.setContent("whatever".getBytes());

为其他人张贴在这里

MockMultipartHttpServletRequest request = 
    this.generateMockMultiPartHttpServletRequest(true);
Mockmultipartfile mockmultipartfile = null;
try {
    request.setContentType("multipart/form-data; boundary=-----1234");
    request.setCharacterEncoding("text/plain");
    String endline = "\r\n";
    String bondary = "-----1234";
    String textFile = this.encodeTextFile("-----1234", "\r\n", "file","test.csv",
        "text/UTF-8", FileUtils.readFileToString((new File(csvFilePath)), "UTF-8"));
    StringBuilder content = new StringBuilder(textFile.toString());
    content.append(endline);
    content.append(endline);
    content.append(endline);
    content.append("--");
    content.append(bondary);
    content.append("--");
    content.append(endline);
    request.setContent(content.toString().getBytes());
    request.setMethod("POST");
    mockmultipartfile = new Mockmultipartfile("file",
    FileUtils.readFileToByteArray(new File(csvFilePath)));
} catch (Exception e1) {
    e1.printStackTrace();
}
 request.addFile(mockmultipartfile);

编码文字功能

    private String encodeTextFile(String bondary, String endline, String name, 
        String filename, String contentType, String content) {

        final StringBuilder sb = new StringBuilder(64);
        sb.append(endline);
        sb.append("--");
        sb.append(bondary);
        sb.append(endline);
        sb.append("Content-Disposition: form-data; name=\"");
        sb.append(name);
        sb.append("\"; filename=\"");
        sb.append(filename);
        sb.append("\"");
        sb.append(endline);
        sb.append("Content-Type: ");
        sb.append(contentType);
        sb.append(endline);
        sb.append(endline);
        sb.append(content);
        return sb.toString();
    }
Jave 2022/1/1 18:25:33 有343人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶