2010-07-30 13 views
7

के साथ अपवाद फेंकता है तो ऐसा लगता है कि गुणों के लिए कोई प्रतिनिधि नहीं हैं। क्या निम्नलिखित करने का कोई सुविधाजनक तरीका है?परीक्षण अगर संपत्ति नुनिट

Assert.Throws<InvalidOperationException>(
     delegate 
     { 
      // Current is a property as we all know 
      nullNodeList.GetEnumerator().Current; 
     }); 

उत्तर

7

फास्ट आगे चार साल और NUnit अब इस का समर्थन करता है (वर्तमान संस्करण v2.6 है - मैंने यह नहीं देखा है कि यह किस संस्करण को पेश किया गया था)।

Assert.That(() => nullNodeList.GetEnumerator().Current, 
    Throws.InvalidOperationException); 
1

क्यों नहीं कहते हैं:

Assert.Throws<InvalidOperationException>(
    () => nullNodeList.GetEnumerator().Current); 
+0

im के साथ # 2.0 ग काम कर रहे:/ – atamanroman

+1

तुम अब भी एक वास्तविक (फेंक) काम करते हैं और {रखें}, ताकि आवश्यकता होगी: (() => {var x = nullNodeList.GetEnumerator()। वर्तमान;}) – nashwan

6
Assert.Throws<InvalidOperationException>(
    delegate { object current = nullNodeList.GetEnumerator().Current; }); 
+0

आपको बहुत बहुत धन्यवाद। यह आसान था (लेकिन बहुत सहज नहीं) – atamanroman

+0

@ एंटन हाय एंटन मैं जानना चाहता हूं कि यह कक्षा के पाठ की संपत्ति के लिए टेस्ट करने के लिए उपयोग करने का तरीका है? – Deeptechtons

1

आप एक चर करने के लिए यह बताए की कोशिश या गणना की कोशिश कर सकते:

Assert.Throws<InvalidOperationException>(delegate 
{ 
    // Current is a property as we all know 
    object current = nullNodeList.GetEnumerator().Current; 
}); 
संबंधित मुद्दे