私は現在、HTTPマルチパート/フォームリクエストを受け取り、後で使用できるFileItemのリストに変換するWebアプリケーションにあるコードをテストしようとしています。方法は次のとおりです。
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メソッドをモックするには、基本的にread()を再実装する必要があります。もっと簡単な方法が必要です。
commons-httpclient 3.0を使用してマルチパートリクエストを作成しようとしましたが、MultipartRequestEntityを正常に作成できましたが、upload()で2つの異なるオブジェクトタイプが関係しているため、どのように使用するかわかりません。出来ますか?リクエストオブジェクトを正常にシミュレートするには、どのような手順を実行できますか?