पर AspNet.TestHost.TestServer संदर्भ में यूनिट परीक्षण के अंदर कुकीज़ एक्सेस करें में CookieContainer
तक पहुंच प्राप्त करने का कोई आसान तरीका नहीं है AspNet.TestHost.TestServer
के साथ ऑब्जेक्ट रनिंग एकीकरण परीक्षण। कुकीज़ को नियंत्रक कार्रवाई द्वारा सेट किया जाना है। इसे प्राप्त करने का सबसे अच्छा तरीका क्या है?एएसपी.NET 5/एमवीसी 6
var client = TestServer.Create(app =>
{
app.UseMvc(routes =>
routes.MapRoute("default", "{controller}/{action}/{id?}"));
app.UseIdentity();
}).CreateClient();
var request = new HttpRequestMessage(HttpMethod.Get, "account/login");
var response = await client.SendAsync(request);
// how to get an access to cookie container ?????????
// response.Cookies prop doesn't exist
Assert.NotEmpty(response.Cookies["auth"]);
समाधान है कि मैं देख रहा हूँ TestServer के कहने का विस्तार, एक वर्ग CustomClientHandler : ClientHandler
के कहने लौट सकते हैं और है कि हैंडलर में एक अनुरोध भेजने की पूरी प्रक्रिया को ओवरराइड करने के लिए है, लेकिन यह सचमुच जरूरत है अपेक्षाकृत छोटे कोड को छोड़कर सभी तर्क को बदलने के लिए टेस्टसेवर का।
कोई बेहतर सुझाव कि प्रतिक्रिया में कुकीज तक पहुंच को कैसे कार्यान्वित किया जाए?
संभावित समाधान का एक लिंक हमेशा स्वागत है, लेकिन कृपया [लिंक के चारों ओर संदर्भ जोड़ें] (// meta.stackoverflow.com/a/8259) ताकि आपके साथी उपयोगकर्ताओं को कुछ पता चल जाएगा कि यह क्या है और यह क्यों है । ** यदि लक्षित साइट पहुंच योग्य नहीं है या स्थायी रूप से ऑफलाइन हो जाती है, तो हमेशा एक महत्वपूर्ण लिंक के सबसे प्रासंगिक भाग को उद्धृत करें। ** ध्यान रखें कि बाहरी साइट_ के लिंक से अधिक स्पष्ट रूप से होने का एक संभावित कारण है [क्यों और कुछ उत्तरों कैसे हटाए गए हैं?] (// stackoverflow.com/help/deleted-answers)। – kayess
उत्तर पर विस्तार करने के लिए स्वतंत्र महसूस करें, मेरे पास केवल सही दिशा में इंगित करने का समय था। ऐसा लगता है कि भी मदद मिली है। – Tratcher