ExpectedExceptionAttribute, classe
Mise à jour : novembre 2007
Indique qu'une exception est attendue durant l'exécution de la méthode de test. Cette classe ne peut pas être héritée.
Espace de noms : Microsoft.VisualStudio.TestTools.UnitTesting
Assembly : Microsoft.VisualStudio.QualityTools.UnitTestFramework (dans Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll)
Syntaxe
<AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple := False)> _
Public NotInheritable Class ExpectedExceptionAttribute _
Inherits Attribute
Dim instance As ExpectedExceptionAttribute
[AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple = false)]
public sealed class ExpectedExceptionAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Method, AllowMultiple = false)]
public ref class ExpectedExceptionAttribute sealed : public Attribute
public final class ExpectedExceptionAttribute extends Attribute
Notes
Cet attribut est utilisé pour tester si une exception attendue est levée. La méthode de test réussit si l'exception attendue est levée. Le test échoue si l'exception levée hérite de l'exception attendue.
Si un test possède à la fois un attribut ExpectedException et une instruction Assert, l'un des deux peut provoquer l'échec du test. Pour déterminer si c'est l'attribut ou l'instruction qui a provoqué l'échec du test, double-cliquez sur le résultat du test pour ouvrir la page Détails des résultats des tests. Pour plus d'informations sur les résultats de tests, consultez Résultats de tests rapportés.
Cet attribut peut être spécifié sur une méthode. Il ne peut y avoir qu'une seule instance de cet attribut sur une méthode.
Pour plus d'informations sur l'utilisation d'attributs, consultez Extension des métadonnées à l'aide des attributs.
Exemples
La classe suivante contient la méthode à tester :
using System;
namespace MyCSNamespace
{
public class DivisionClass
{
public int Divide(int numerator, int denominator)
{
return numerator / denominator;
}
}
}
Public Class DivisionClass
Public Function Divide(ByVal numerator As Integer, ByVal denominator As Integer) As Integer
Return numerator \ denominator
End Function
End Class
La méthode de test suivante teste la méthode Divide de l'objet DivisionClass. Elle teste si DivideByZeroException existe.
using Microsoft.VisualStudio.TestTools.UnitTesting;
using MyCSNamespace;
namespace MyCSTestProject
{
[TestClass()]
public class DivisionClassTest
{
[TestMethod()]
[ExpectedException(typeof(System.DivideByZeroException))]
public void DivideTest()
{
DivisionClass target = new DivisionClass();
int numerator = 4;
int denominator = 0;
int actual;
actual = target.Divide(numerator, denominator);
}
}
}
Imports Microsoft.VisualStudio.TestTools.UnitTesting
Imports MyVBProject
<TestClass()> _
Public Class DivisionClassTest
<TestMethod()> _
<ExpectedException(GetType(System.DivideByZeroException), "MyMessage")> _
Public Sub DivideTest()
Dim target As DivisionClass = New DivisionClass
Dim numerator As Integer = 4
Dim denominator As Integer = 0
Dim actual As Integer
actual = target.Divide(numerator, denominator)
End Sub
End Class
Hiérarchie d'héritage
System.Object
System.Attribute
Microsoft.VisualStudio.TestTools.UnitTesting.ExpectedExceptionAttribute
Sécurité des threads
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Voir aussi
Référence
Membres ExpectedExceptionAttribute
Microsoft.VisualStudio.TestTools.UnitTesting, espace de noms