इकाई परीक्षण में हम दो तरीकों से एक अपवाद को सत्यापित कर सकते हैं।
- Asert.ThrowsException का उपयोग करना
- अपेक्षित अपवाद विशेषता का उपयोग करना।
उदाहरण
आइए एक StringAppend विधि पर विचार करें जो एक अपवाद को फेंकता है जिसे परीक्षण करने की आवश्यकता है।
using System; namespace DemoApplication { public class Program { static void Main(string[] args) { } public string StringAppend(string firstName, string lastName) { throw new Exception("Test Exception"); } } }
Assert.ThrowsException का उपयोग करना
using System; using DemoApplication; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace DemoUnitTest { [TestClass] public class DemoUnitTest { [TestMethod] public void DemoMethod() { Program program = new Program(); var ex = Assert.ThrowsException<Exception>(() => program.StringAppend("Michael","Jackson")); Assert.AreSame(ex.Message, "Test Exception"); } } }
उदाहरण के लिए, हम Assert.ThrowsException का उपयोग करके StringAppend विधि को कॉल कर रहे हैं और अपवाद प्रकार और संदेश मान्य हैं। तो टेस्ट केस पास हो जाएगा।
अपेक्षित अपवाद विशेषता का उपयोग करना
using System; using DemoApplication; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace DemoUnitTest { [TestClass] public class DemoUnitTest { [TestMethod] [ExpectedException(typeof(Exception), "Test Exception")] public void DemoMethod() { Program program = new Program(); program.StringAppend("Michael", "Jackson"); } } }
उदाहरण के लिए, हम अपेक्षित अपवाद विशेषता का उपयोग कर रहे हैं और अपेक्षित अपवाद के प्रकार को निर्दिष्ट कर रहे हैं। चूंकि StringAppend विधि उसी प्रकार के अपवाद को फेंकती है जिसका उल्लेख [अपेक्षित अपवाद (टाइपऑफ (अपवाद), "टेस्ट अपवाद")] में किया गया है, परीक्षण केस पास हो जाएगा।