単体テストの例外は 2 つの方法で検証できます。
例外をスローするかどうかをテストする必要がある 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 中国語 Web サイトの他の関連記事を参照してください。