Wie überprüft man Ausnahmen, die in C#-Komponententests ausgelöst werden?

WBOY
Freigeben: 2023-08-27 10:49:06
nach vorne
982 Leute haben es durchsucht

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

Wir können Ausnahmen in Unit-Tests auf zwei Arten überprüfen.

  • Verwenden Sie Assert.ThrowsException.
  • Verwenden Sie die ExpectedException-Eigenschaft.

Beispiel

Betrachten wir eine StringAppend-Methode, die getestet werden muss, um eine Ausnahme auszulösen.

using System;
namespace DemoApplication {
   public class Program {
      static void Main(string[] args) {
      }
      public string StringAppend(string firstName, string lastName) {
         throw new Exception("Test Exception");
      }
   }
}
Nach dem Login kopieren

Verwendung von 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");
      }
   }
}
Nach dem Login kopieren

Zum Beispiel verwenden wir Assert.ThrowsException, um die StringAppend-Methode aufzurufen und den Ausnahmetyp und die Ausnahmemeldung zu überprüfen. Der Testfall wird also bestanden.

Verwendung des ExpectedException-Attributs

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");
      }
   }
}
Nach dem Login kopieren

Beispielsweise verwenden wir das ExpectedException-Attribut und geben den Typ der erwarteten Ausnahme an. Da die StringAppend-Methode denselben Ausnahmetyp wie in [ExpectedException(typeof(Exception), „Test Exception“)] erwähnt auslöst, wird der Testfall bestanden.

Das obige ist der detaillierte Inhalt vonWie überprüft man Ausnahmen, die in C#-Komponententests ausgelöst werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage