Kami boleh mengesahkan pengecualian dalam ujian unit dalam dua cara.
Mari kita pertimbangkan kaedah StringAppend yang perlu diuji untuk melontar pengecualian.
using System; namespace DemoApplication { public class Program { static void Main(string[] args) { } public string StringAppend(string firstName, string lastName) { throw new Exception("Test Exception"); } } }
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"); } } }
Sebagai contoh, kami menggunakan Assert.ThrowsException untuk memanggil kaedah StringAppend dan mengesahkan jenis pengecualian dan mesej. Jadi kes ujian akan lulus.
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"); } } }
Sebagai contoh, kami menggunakan atribut ExpectedException dan menentukan jenis pengecualian yang dijangkakan. Memandangkan kaedah StringAppend membuang jenis pengecualian yang sama seperti yang dinyatakan dalam [ExpectedException(typeof(Exception), "Test Exception")], kes ujian akan lulus.
Atas ialah kandungan terperinci Bagaimana untuk mengesahkan pengecualian yang dilemparkan dalam ujian unit C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!