मैं गलत पढ़ने अपने इरादे हो सकता है, लेकिन जहां तक मैं देख सकता हूँ क्रम में एक नकली करने के लिए कुछ भी करने को परीक्षण करने के लिए है कि अपवाद किया गया है कोई जरूरत नहीं है फेंक दिया।
ऐसा लगता है कि एक विधि फू कि एक स्ट्रिंग लेता है के साथ एक वर्ग है - सुविधा देता है इस InnerClass
public class InnerClass {
public virtual void Foo(string str) {
// do something with the string
}
}
और एक वर्ग है जो एक संपत्ति (someProperty) के रूप में एक InnerClass शामिल है जो एक सदस्य Koko है फोन है कि एक पैरामीटर के रूप में एक सूची < स्ट्रिंग > लेता
public class OuterClass {
private readonly InnerClass someProperty;
public OuterClass(InnerClass someProperty) {
this.someProperty = someProperty;
}
public void Koko(List<string> list) {
foreach (var str in list) {
if (str != null)
someProperty.Foo(str);
else
throw new FormatException();
}
}
}
नोट: मैं सूची < स्ट्रिंग नहीं मिल सकता है? संकलित करने के लिए > - मुझे बताता है कि अंतर्निहित प्रकार (स्ट्रिंग) गैर-शून्य होना चाहिए। AFAIK, केवल एक को मूल्य प्रकारों को कम करने की आवश्यकता है, संदर्भ प्रकार पूरी तरह से शून्य हैं।
ऐसा लगता है कि आप यह जांचना चाहते हैं कि यदि आप तारों की एक सूची में गुजरते हैं, तो उनमें से कोई भी स्वरूप स्वरूप को फेंक दिया जाता है।
यदि ऐसा है, तो MOQ के लिए एकमात्र कारण हमें इनर क्लास कार्यक्षमता के बारे में चिंता करने से मुक्त करना है। फू एक विधि है, इसलिए, जब तक कि हम सख्त मोक्स का उपयोग नहीं कर रहे हैं, हम किसी अन्य सेटअप के साथ केवल इनर क्लास मॉक बना सकते हैं।
एक विशेषता [ExpectedException] है जिसके साथ हम यह सत्यापित करने के लिए हमारे परीक्षण को टैग कर सकते हैं कि अपवाद फेंक दिया गया है।
[TestMethod]
[ExpectedException(typeof(FormatException))]
public void ExceptionThrown() {
var list = new List<string>() {
"Abel",
"Baker",
null,
"Charlie"
};
var outer = new OuterClass(new Mock<InnerClass>().Object);
outer.Koko(list);
}
यह परीक्षण तब होगा जब कोई प्रारूप अपवाद फेंक दिया गया हो और विफल हो जाए।
अपना काम दिखाएं .. लोग आपके दिमाग को नहीं पढ़ सकते हैं। कृपया [एफएक्यू] और [पूछें] भी पढ़ें .. –