Как написать модуль для загрузки файлов с помощью jmockit

#unit-testing #file-upload #nullpointerexception #jmockit

Вопрос:

Я застрял с этим тестовым случаем загрузки файлов с использованием java,springmvc,jmockit, когда я пытаюсь запустить тестовый случай, он выдает исключение FileNotFoundException в инструкции Path. утверждение пути-это мое рабочее пространство проекта, Нужна помощь, ребята, заранее спасибо!

 
@RequestMapping(params = "action=uploadAdminTemplate", method = RequestMethod.POST)
    public String uploadAdminTemplate(HttpServletRequest request,
            @ModelAttribute(UPLOAD_ITEM_VO) UploadItemVO uploadItemVO,
            BindingResult result, Model model) throws NPIException, SQLException, NamingException,
            InstantiationException, IllegalAccessException {
        LOGGER.info("START");
        request.setAttribute(UPLOAD_ITEM_VO, uploadItemVO);

    
        if (result.hasErrors()) {
            for (ObjectError error : result.getAllErrors()) {
                LOGGER.error("Error: "   error.getCode()   " - "
                          error.getDefaultMessage());
            }
            return UserConstants.AdminTemplateUploadView;
        }

        CommonsMultipartFile commonsMultipartFile = uploadItemVO
                .getAdminTemplate();
 
 @Test
public void uploadAdminTemplate() throws IOException, NPIException, InstantiationException, IllegalAccessException, SQLException, NamingException {

        session = new MockHttpSession();
        ((MockHttpSession) session).clearAttributes();
        request = new MockHttpServletRequest();
        ((MockHttpServletRequest) request).setSession(session);
        RequestContextHolder.setRequestAttributes(new ServletRequestAttributes(
                request));
        UploadItemVO uploadItemVO=new UploadItemVO();
        AdminTemplateUploadController adminUploadControllerTest = new AdminTemplateUploadController();
        Path path = Paths.get("/NPI-Maven/Files/db_value.txt");
        byte[] data = Files.readAllBytes(path);
        MultipartFile file=new MockMultipartFile("db_value.txt","db_value.txt","text/plain",data);
        CommonsMultipartFile f=(CommonsMultipartFile)file;
        MockMultipartHttpServletRequest mockRequest = new MockMultipartHttpServletRequest();
        mockRequest.addFile(file);
        mockRequest.setMethod("POST");
        uploadItemVO.setMessages("Updating...");
        uploadItemVO.setAdminTemplate(f);
        new Expectations() {{
            AdminTemplateUploadControllerTest.this.result.hasErrors();
            result=false;
        }};
        model.addAttribute(uploadItemVO);
        request.setAttribute("upload", uploadItemVO);
        session.setAttribute("UploadFile",adminUploadControllerTest.uploadAdminTemplate(request,uploadItemVO,result, model));
        
    }