मेरे पास एक विधि के साथ एक स्प्रिंग (3.0) नियंत्रक है जिसमें पैरामीटर में से एक के रूप में HttpServletRequest
है, क्योंकि यह हैंडलिंग (एकाधिक) फ़ाइल अपलोड है।MockHttpServletRequest के साथ यूनिट परीक्षण फ़ाइल अपलोड कैसे करें?
@RequestMapping(value = "/classified/{idClassified}/dealer/{idPerson}/upload",
method = RequestMethod.POST)
@ResponseBody
public final String uploadClassifiedPicture(
@PathVariable int idClassified,
@PathVariable int idPerson,
@RequestParam String token,
HttpServletRequest request);
यूनिट कैसे परीक्षण करें? मुझे पता है कि मैं MockHttpServletRequest
बना सकता हूं, लेकिन मुझे नहीं पता कि इसमें एक या अधिक फाइलें कैसे पास करें।
@RequestMapping(value = "/classified/{idClassified}/dealer/{idPerson}/upload",
method = RequestMethod.POST)
@ResponseBody
public final String uploadClassifiedPicture(
@PathVariable int idClassified,
@PathVariable int idPerson,
@RequestParam String token,
@RequestParam MultipartFile content);
तो फिर तुम एक MockMultipartFile
उपयोग कर सकते हैं:
MockHttpServletRequest request = new MockHttpServletRequest("POST",
"/classified/38001/dealer/54/upload?token=dfak241adf");
'MultipartFile', वाकई दिलचस्प लग रहा है, क्योंकि यह अपलोड और फाइल करने के लिए उपयोग अधिक संकीर्णता इंटरफ़ेस बहुत स्पष्ट दिखता है। हालांकि, मुझे डर है कि मैं इसका उपयोग नहीं कर सकता, क्योंकि यह एक समय में केवल एक फ़ाइल का समर्थन करता है और कई फाइलें अपलोड नहीं करता है (फाइलों की संख्या खुली अपलोड करने के लिए, मेरे मामले में 1 से 7 तक)। – stivlo
@stivlo: मल्टीपार्टफाइल के ऐरे के बारे में क्या: 'मल्टीपार्टफाइल [] '? – Ralph
मुझे बस एहसास हुआ कि मैं इसका जवाब देना भूल गया, लेकिन सरणी चाल पूरी तरह से काम करती है, धन्यवाद राल्फ – stivlo