我們可以透過兩種方法在單元測試中驗證異常。
讓我們考慮一個需要測試拋出例外的 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"); } } }
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"); } } }
例如,我們使用 ExpectedException 屬性並指定預期異常的類型。由於 StringAppend 方法拋出與 [ExpectedException(typeof(Exception), "Test Exception")] 中提到的相同類型的異常,因此測試案例將通過。
以上是如何驗證 C# 單元測試中拋出的例外狀況?的詳細內容。更多資訊請關注PHP中文網其他相關文章!