के माध्यम से परीक्षण फ़ॉर्म पोस्ट परीक्षण मैं यह सत्यापित करने के लिए परीक्षण लिख रहा हूं कि मैं अपने एपीआई में एक सामान्य फॉर्म पोस्ट कर सकता हूं।MockMVC
मैंने कुछ डीबगिंग भी जोड़ा है, लेकिन मैंने देखा कि वास्तविक रूप से पोस्ट किया गया डेटा; (डाकिया/AngularJS या w/ई) की तरह एक mockMVC परीक्षण कर से अलग है:
MvcResult response = mockMvc
.perform(post("/some/super/secret/url") //
.param("someparam1", "somevalue") //
.param("someparam2", "somevalue") //
.contentType(MediaType.APPLICATION_FORM_URLENCODED) //
.accept(MediaType.APPLICATION_JSON)) //
.andExpect(status().isOk()) //
.andReturn();
config वास्तव में उत्पादन में चल config, और इस तरह के रूप में ही है। मेरी इंटरसेप्टर सामग्री, असली परीक्षा (नहीं mockMVC) में लॉग हालांकि जब सामग्री की तरह "someparam1 = somevalue & आदि = दोहराना" स्वरूपित है
जब मैं mockMVC सामग्री मुद्रित मैं वास्तव में कोई सामग्री है लगता है, लेकिन देखते हैं अनुरोध में पैरा, मुझे लगता है कि वे जीईटी पैरामीटर की तरह जोड़े गए हैं।
कोई भी जानता है कि इसका सही तरीके से परीक्षण कैसे किया जाए? मैं इस मुद्दे पर आया क्योंकि ऐसा लगता है कि हमारे फॉर्म पोस्ट स्प्रिंग द्वारा पार्स किए जाने लगते हैं, भले ही हमारे पास FormHttpMessageConverter को सर्वलेट संदर्भ में जोड़ा गया हो।
आप और अधिक विस्तार प्रदान कर सकते हैं, config की तरह, वास्तविक डेटा आप सर्वर और कुछ लॉग विस्तार के लिए पोस्ट यह और अधिक स्पष्ट बनाने के लिए? नकली के बारे में, ऐसा लगता है कि आप सही कर रहे हैं, नकली परीक्षण का परम आपके द्वारा दिखाए गए पोस्ट डेटा का एक ही प्रकार का प्रारूप है। साथ ही, जांच करें कि क्या आपको कुछ वसंत सुरक्षा की तरह लगता है। आपको अगले चरण करने से पहले वसंत सुरक्षा का नकल करना या लॉगिन करना पड़ सकता है। –
हम इस तरह कुछ भी उपयोग नहीं करते हैं, जो मुझे पता चला है कि मेरा उदाहरण वास्तव में गलत है। इस मामले में कुछ पैराम 1 और कुछ पैराम 2 एक प्रश्न सर्वोपर होंगे, (यूआरएल में)। मैं फॉर्म पैराम्स का उपयोग इसलिए करना चाहता हूं। हालांकि यह केवल मॉडल या मूल्य मानचित्र के माध्यम से सुलभ प्रतीत होता है। तो हमें एक वर्कअराउंड की आवश्यकता होगी (यह पूरी तरह वसंत एमवीसी होने के लिए माइग्रेट किया गया था, जो @ फॉर्मपाम होता था जो वसंत नहीं है)। –
ओह भी पोस्ट किया गया डेटा, एमवीसी भाग के नीचे मेरे उदाहरण में था, यह एक सामग्री स्ट्रिंग को पोस्ट कर रहा है और = –