В настоящее время я пытаюсь протестировать некоторый код, который у меня есть, в веб-приложении, которое принимает HTTP-запрос multipart / form и преобразует его в список FileItems, которые я смогу использовать позже. Вот метод:
private HttpServletRequest request = null;
private List<FileItem> uploadedObjects = null;
/* getter/setter methods */
public void upload() throws FileUploadException {
ServletFileUpload upload = new ServletFileUpload(
new DiskFileItemFactory());
if (request == null) {
//do nothing - success is already false
} else if (ServletFileUpload.isMultipartContent(request)) {
uploadedObjects = upload.parseRequest(request);
success = true
}
}
Проблема в том, что у меня проблемы с модульным тестированием этого метода. Я пытался использовать EasyMock, чтобы смоделировать HttpServletRequest, но для того, чтобы смоделировать метод чтения ServletInputStream, вам, в основном, нужно повторно реализовать read () - должен быть более простой способ.
Я пытался использовать commons-httpclient 3.0 для создания многокомпонентного запроса, и это сработало в том, что я успешно создал MultipartRequestEntity, но я не уверен, как использовать это в upload (), поскольку он включает два разных типа объектов. Является ли это возможным? Какие шаги я могу предпринять, чтобы успешно смоделировать объект запроса?