2010-01-05 14 views
9
public interface IMyServer 
    { 
     [OperationContract] 
     [DynamicResponseType] 
     [WebGet(UriTemplate = "info")] 
     string ServerInfo(); 
    } 

मैं कैसे सी # इंटरफ़ेस विधि [DynamicResponseType] विशेषता इस पर सेट है कि साबित करने के लिए एक NUnit परीक्षण लिख सकता हूँ?एक विधि के गुण अस्तित्व के लिए NUnit परीक्षण कैसे

+1

टिप्पणी –

उत्तर

18

कुछ की तरह:

Assert.IsTrue(Attribute.IsDefined(
      typeof(IMyServer).GetMethod("ServerInfo"), 
      typeof(DynamicResponseTypeAttribute))); 

तुम भी कुछ (स्ट्रिंग "ServerInfo" के बजाय) जेनरिक और प्रतिनिधियों या भाव को शामिल कर सकता है, लेकिन मैं इसे इसके लायक है यकीन नहीं है।

[WebGet] के लिए:

WebGetAttribute attrib = (WebGetAttribute)Attribute.GetCustomAttribute(
    typeof(IMyServer).GetMethod("ServerInfo"), 
    typeof(WebGetAttribute)); 
Assert.IsNotNull(attrib); 
Assert.AreEqual("info", attrib.UriTemplate); 
+1

परफेक्ट प्रति अद्यतन, धन्यवाद। एक और वस्तु ... क्या यह जांचने का कोई तरीका है कि [WebGet (UriTemplate = "info")] विशेषताएँ UriTemplate को "जानकारी" पर सेट किया गया है? –

+1

दिखाने के लिए अपडेट होगा ... –

+0

मैं एक ही काम करने के लिए विभिन्न वाक्यविन्यास का उपयोग कर रहा था। यह जवाब थोड़ा क्लीनर है इसलिए मैं उस पर स्विच करने जा रहा हूं। पोस्ट करने का शुक्रिया! –

संबंधित मुद्दे