Udostępnij za pośrednictwem


Klasa ExpectedExceptionAttribute

Wskazuje, że wyjątek jest oczekiwany podczas wykonywania metody badania.Klasa ta nie może być dziedziczona.

Hierarchia dziedziczenia

System.Object
  System.Attribute
    Microsoft.VisualStudio.TestTools.UnitTesting.ExpectedExceptionBaseAttribute
      Microsoft.VisualStudio.TestTools.UnitTesting.ExpectedExceptionAttribute

Przestrzeń nazw:  Microsoft.VisualStudio.TestTools.UnitTesting
Zestaw:  Microsoft.VisualStudio.QualityTools.UnitTestFramework (w Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll)

Składnia

'Deklaracja
<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

Typ ExpectedExceptionAttribute uwidacznia następujące elementy członkowskie.

Konstruktorzy

  Nazwa Opis
Metoda publiczna ExpectedExceptionAttribute(Type) Inicjuje nowe wystąpienie ExpectedExceptionAttribute klasy z oczekiwany wyjątek.
Metoda publiczna ExpectedExceptionAttribute(Type, String) Inicjuje nowe wystąpienie ExpectedExceptionAttribute klasy i typ oczekiwany wyjątek i komunikat, który opisuje wyjątek.

Początek

Właściwości

  Nazwa Opis
Właściwość publiczna AllowDerivedTypes
Właściwość publiczna ExceptionType Pobiera typ oczekiwany wyjątek.
Właściwość chroniona NoExceptionMessage Infrastruktura. (Odziedziczone z ExpectedExceptionBaseAttribute).
Właściwość chroniona TestContext Infrastruktura. (Odziedziczone z ExpectedExceptionBaseAttribute).
Właściwość publiczna TypeId Po wdrożeniu w klasie pochodnej pobiera identyfikator unikatowy to Attribute. (Odziedziczone z Attribute).

Początek

Metody

  Nazwa Opis
Metoda publiczna Equals Infrastruktura. Zwraca wartość, która wskazuje, czy to wystąpienie jest równa określonego obiektu. (Odziedziczone z Attribute).
Metoda publiczna GetHashCode Zwraca kod skrótu dla tego wystąpienia. (Odziedziczone z Attribute).
Metoda publiczna GetType Pobiera Type bieżącego wystąpienia. (Odziedziczone z Object).
Metoda publiczna IsDefaultAttribute Gdy zastąpiony w klasie pochodnej, wskazuje, czy wartość to wystąpienie jest wartością domyślną dla klasy pochodnej. (Odziedziczone z Attribute).
Metoda publiczna Match Gdy zastąpiony w klasie pochodnej, zwraca wartość wskazującą, czy to wystąpienie jest równa określonego obiektu. (Odziedziczone z Attribute).
Metoda publiczna ToString Zwraca wartość typu ciąg, który reprezentuje bieżący obiekt. (Odziedziczone z Object).
Metoda chroniona Verify Infrastruktura. (Odziedziczone z ExpectedExceptionBaseAttribute).

Początek

Jawne implementacje interfejsu

  Nazwa Opis
Jawna implementacja interfejsuMetoda prywatna _Attribute.GetIDsOfNames Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłki. (Odziedziczone z Attribute).
Jawna implementacja interfejsuMetoda prywatna _Attribute.GetTypeInfo Pobiera informacje o typie dla obiektu, który można uzyskać informacji o typie dla interfejsu. (Odziedziczone z Attribute).
Jawna implementacja interfejsuMetoda prywatna _Attribute.GetTypeInfoCount Pobiera numer typu informacji interfejsów, że obiekt zawiera (0 lub 1). (Odziedziczone z Attribute).
Jawna implementacja interfejsuMetoda prywatna _Attribute.Invoke Zapewnia dostęp do właściwości i metod udostępnianych przez obiekt. (Odziedziczone z Attribute).

Początek

Uwagi

Ten atrybut jest używany do testowania, czy wyjątek oczekiwane.Metoda badania będą przekazywać Jeśli oczekiwane wyjątek.Test zakończy się niepowodzeniem, jeśli wyjątek thrown dziedziczy oczekiwany wyjątek.

Jeżeli test ma zarówno atrybut ExpectedException i o Assert instrukcji, albo jedną może spowodować, że test zwróci błąd.Aby ustalić, czy atrybut lub instrukcja spowodował test zwróci błąd, kliknij dwukrotnie wynik badania, aby otworzyć stronę szczegółów wyników badania.Aby uzyskać więcej informacji na temat wyników badań, zobacz Test Results Reported.

Ten atrybut może być określona w metody.Może istnieć tylko jedno wystąpienie tego atrybutu metody.

Aby uzyskać więcej informacji na temat atrybutów, zobacz Rozszerzanie metadanych za pomocą atrybutów.

Przykłady

Poniższa klasa zawiera metoda badania:

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

Następującej metody badawczej badania metody Divide obiektu DivisionClass.Badań istnienie DivideByZeroException.

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

Bezpieczeństwo wątku

Wszystkie publiczne static (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Wystąpienia elementów członkowskich nie dają gwarancji bezpieczeństwa wątków.

Zobacz też

Informacje

Przestrzeń nazw Microsoft.VisualStudio.TestTools.UnitTesting