Comment vérifier les exceptions levées dans les tests unitaires C# ?

WBOY
Libérer: 2023-08-27 10:49:06
avant
908 Les gens l'ont consulté

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

Nous pouvons vérifier les exceptions dans les tests unitaires de deux manières.

  • Utilisez Assert.ThrowsException
  • Utilisez la propriété ExpectedException.

Exemple

Considérons une méthode StringAppend qui doit être testée pour lever une exception.

using System; namespace DemoApplication { public class Program { static void Main(string[] args) { } public string StringAppend(string firstName, string lastName) { throw new Exception("Test Exception"); } } }
Copier après la connexion

Utilisation de 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(() => program.StringAppend("Michael","Jackson")); Assert.AreSame(ex.Message, "Test Exception"); } } }
Copier après la connexion

Par exemple, nous utilisons Assert.ThrowsException pour appeler la méthode StringAppend et vérifier le type d'exception et le message. Le cas de test réussira donc.

Utilisation de l'attribut 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"); } } }
Copier après la connexion

Par exemple, nous utilisons l'attribut ExpectedException et spécifions le type d'exception attendue. Étant donné que la méthode StringAppend renvoie le même type d'exception que celui mentionné dans [ExpectedException(typeof(Exception), "Test Exception")], le scénario de test réussira.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!