c# - NancyFx and unit testing Response.AsFile(...) fails with NotFound -
यह मेरी (सुव्यवस्थित) मॉड्यूल है
सार्वजनिक वर्ग MyModule: NancyModule {सार्वजनिक MyModule ( ): बेस ("/ पथ") {जाओ ["/ {filename}"] = x = & gt; {Var फ़ाइलनाम = (स्ट्रिंग) x.filename; Var पथ = पथ। कंबाइन ("फाइल", फ़ाइलनाम); अगर (! फ़ाइल। एक्सिस (पथ)) नई फ़ाइल नॉटफ़ाउंड अपवाद फेंकें (); वापसी प्रतिक्रिया। एफ़फ़ाइल (पथ); }}}
यह कोड काम करता है और ब्राउज़र में सही फ़ाइल को सफलतापूर्वक बचाता है।
मैंने एक परीक्षण नहीं लिखा है:
[TestMethod, तैनाती इत्यादि ("file.txt", "फाइल")] सार्वजनिक शून्य CanDownloadFile () {var पथ = @ "फाइल \ file.txt"; Assert.IsTrue (File.Exists (पथ)); Var बूटस्ट्रैपर = नया MyBootstrapper (); Var ब्राउज़र = नया ब्राउज़र (बूटस्ट्रैपर); // नैन्सी से। टेस्टिंग var परिणाम = ब्राउज़र। ("/ पथ / file.txt", के साथ = & gt; {with.HttpRequest ();}); Var बॉडी = रिजल्ट। बॉडी.एस्टस्ट्रिंग (); आश्वासन। आरईपी (एचटीटीपीटीटस कोड। ओके, परिणाम। स्टेटस कोड); } इस कोड के साथ मेरा परीक्षण विफल हो जाता है क्योंकि स्टेटसोड NotFound
के बजाय ओके
मैंने भी कोशिश की है प्रतिस्थापन। एसेटफ़ाइल ()
के साथ
var info = new FileInfo (पथ) को बदलने के लिए; नया जेनररिकफ़ाइल रिस्पॉन्स (info.FullName) लौटाएं;
और trible फ़ाइल की जाँच वास्तव में शारीरिक रूप से डिस्क पर मेरी परीक्षा निष्पादित wile पर मौजूद है।
समस्या क्या है?
क्या फ़ाइल "file.txt" डी समाधान में शामिल है? इसमें शामिल करें।
दृश्य स्टूडियो में फ़ाइल गुणों में संपत्ति को प्रतिलिपि बनाने के लिए आउटपुट डायरेक्टरी में कॉपी करें।
लेकिन आपको ऐसा करने के लिए एक मॉड्यूल बनाने की आवश्यकता नहीं है। यो नैन्सी बूटस्ट्रैपर में स्थिर सामग्री का प्रबंधन कर सकते हैं यहां दस्तावेज़ीकरण है
यह करने से आपको इसका परीक्षण करने की आवश्यकता नहीं है।
Comments
Post a Comment