Bagaimana untuk mengesahkan pengecualian yang dilemparkan dalam ujian unit C#?

WBOY
Lepaskan: 2023-08-27 10:49:06
ke hadapan
980 orang telah melayarinya

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

Kami boleh mengesahkan pengecualian dalam ujian unit dalam dua cara.

  • Gunakan Assert.ThrowsException
  • Gunakan harta ExpectedException.

Contoh

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");
      }
   }
}
Salin selepas log masuk

Menggunakan 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");
      }
   }
}
Salin selepas log masuk

Sebagai contoh, kami menggunakan Assert.ThrowsException untuk memanggil kaedah StringAppend dan mengesahkan jenis pengecualian dan mesej. Jadi kes ujian akan lulus.

Menggunakan atribut 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");
      }
   }
}
Salin selepas log masuk

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan