ExpectedExceptionAttribute-Klasse
Gibt an, dass bei der Testmethodenausführung eine Ausnahme erwartet wird. Diese Klasse kann nicht vererbt werden.
Vererbungshierarchie
Object
Attribute
Microsoft.VisualStudio.TestTools.UnitTesting.ExpectedExceptionBaseAttribute
Microsoft.VisualStudio.TestTools.UnitTesting.ExpectedExceptionAttribute
Namespace: Microsoft.VisualStudio.TestTools.UnitTesting
Assembly: Microsoft.VisualStudio.QualityTools.UnitTestFramework (in Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll)
Syntax
'Declaration
<AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple := False, Inherited := True)> _
Public NotInheritable Class ExpectedExceptionAttribute _
Inherits ExpectedExceptionBaseAttribute
[AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
public sealed class ExpectedExceptionAttribute : ExpectedExceptionBaseAttribute
[AttributeUsageAttribute(AttributeTargets::Method, AllowMultiple = false, Inherited = true)]
public ref class ExpectedExceptionAttribute sealed : public ExpectedExceptionBaseAttribute
[<Sealed>]
[<AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple = false, Inherited = true)>]
type ExpectedExceptionAttribute =
class
inherit ExpectedExceptionBaseAttribute
end
public final class ExpectedExceptionAttribute extends ExpectedExceptionBaseAttribute
Der ExpectedExceptionAttribute-Typ macht die folgenden Member verfügbar.
Konstruktoren
Name | Beschreibung | |
---|---|---|
ExpectedExceptionAttribute(Type) | Initialisiert eine neue Instanz der ExpectedExceptionAttribute-Klasse mit einer erwarteten Ausnahme. | |
ExpectedExceptionAttribute(Type, String) | Initialisiert eine neue Instanz der ExpectedExceptionAttribute-Klasse mit einem erwarteten Ausnahmetyp und einer Meldung, die die Ausnahme beschreibt. |
Zum Seitenanfang
Eigenschaften
Name | Beschreibung | |
---|---|---|
AllowDerivedTypes | ||
ExceptionType | Ruft den erwarteten Ausnahmetyp ab. | |
NoExceptionMessage | Infrastruktur. (Von ExpectedExceptionBaseAttribute geerbt.) | |
TestContext | Infrastruktur. (Von ExpectedExceptionBaseAttribute geerbt.) | |
TypeId | Bei Implementierung in einer abgeleiteten Klasse wird ein eindeutiger Bezeichner für dieses Attribute abgerufen. (Von Attribute geerbt.) |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
Equals | Infrastruktur. Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist. (Von Attribute geerbt.) | |
GetHashCode | Gibt den Hashcode für diese Instanz zurück. (Von Attribute geerbt.) | |
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) | |
IsDefaultAttribute | Beim Überschreiben in einer abgeleiteten Klasse wird angegeben, ob der Wert dieser Instanz der Standardwert für die abgeleitete Klasse ist. (Von Attribute geerbt.) | |
Match | Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht. (Von Attribute geerbt.) | |
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) | |
Verify | Infrastruktur. (Von ExpectedExceptionBaseAttribute geerbt.) |
Zum Seitenanfang
Explizite Schnittstellenimplementierungen
Name | Beschreibung | |
---|---|---|
System#Runtime#InteropServices#_Attribute#GetIDsOfNames | Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. (Von Attribute geerbt.) | |
System#Runtime#InteropServices#_Attribute#GetTypeInfo | Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können. (Von Attribute geerbt.) | |
System#Runtime#InteropServices#_Attribute#GetTypeInfoCount | Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). (Von Attribute geerbt.) | |
System#Runtime#InteropServices#_Attribute#Invoke | Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit. (Von Attribute geerbt.) |
Zum Seitenanfang
Hinweise
Dieses Attribut wird verwendet, um zu testen, ob eine erwartete Ausnahme ausgelöst wird. Die Testmethode ist erfolgreich, wenn die erwartete Ausnahme ausgelöst wird. Der Test schlägt fehl, wenn die ausgelöste Ausnahme von der erwarteten Ausnahme erbt.
Wenn ein Test über sowohl ein ExpectedException-Attribut als auch eine Assert-Anweisung verfügt, kann der Test aufgrund einer dieser Komponenten fehlschlagen. Um zu ermitteln, ob das Attribut oder die Anweisung den Fehler verursacht, doppelklicken Sie zum Öffnen der Seite Ergebnisdetails für den Test auf das Testergebnis. Weitere Informationen zu Testergebnissen finden Sie unter Test Results Reported.
Dieses Attribut kann für eine Methode angegeben werden. Pro Methode kann es nur eine Instanz dieses Attributs geben.
Weitere Informationen zum Verwenden von Attributen finden Sie unter Erweitern von Metadaten mithilfe von Attributen.
Beispiele
Die folgende Klasse enthält die zu testende Methode:
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
Die folgende Testmethode testet die Divide-Methode des DivisionClass-Objekts. Es wird auf das Vorkommen von DivideByZeroException getestet.
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
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.