ホームページ > バックエンド開発 > C#.Net チュートリアル > C# 単体テストでスローされた例外を確認するにはどうすればよいですか?

C# 単体テストでスローされた例外を確認するにはどうすればよいですか?

WBOY
リリース: 2023-08-27 10:49:06
転載
1039 人が閲覧しました

如何验证 C# 单元测试中抛出的异常?

単体テストの例外は 2 つの方法で検証できます。

  • Assert.ThrowsException を使用する
  • ExpectedException プロパティを使用します。

例外をスローするかどうかをテストする必要がある 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 メソッドを呼び出し、例外の種類とメッセージを確認します。したがって、テストケースは合格します。

ExpectedException 属性の使用

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 サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート