Classe ExpectedExceptionAttribute
Aggiornamento: novembre 2007
Indica che è prevista un'eccezione durante l'esecuzione del metodo di test. La classe non può essere ereditata.
Spazio dei nomi: Microsoft.VisualStudio.TestTools.UnitTesting
Assembly: Microsoft.VisualStudio.QualityTools.UnitTestFramework (in Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll)
Sintassi
<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
Note
Questo attributo viene utilizzato per verificare se viene generata un'eccezione prevista. Il metodo di test passerà se viene generata l'eccezione prevista. Se l'eccezione generata eredita dall'eccezione prevista, il test darà esito negativo
Se un test contiene un attributo ExpectedException e un'istruzione Assert, può dare esito negativo a causa di uno di questi due elementi. Per determinare se l'attributo o l'istruzione ha causato l'esito negativo del test, fare doppio clic sul risultato del test per aprire la relativa pagina Dettagli risultati. Per ulteriori informazioni sui risultati dei test, vedere Report dei risultati di test generati.
È possibile specificare questo attributo su un metodo. È possibile che sia presente un'unica istanza di questo attributo su un metodo.
Per ulteriori informazioni sulla modalità di utilizzo degli attributi, vedere Estensione di metadati mediante attributi.
Esempi
Nella classe riportata di seguito è contenuto il metodo da verificare:
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
Il metodo di test illustrato di seguito consente di verificare il metodo Divide dell'oggetto DivisionClass. Viene verificato per accertarsi dell'esistenza di un'eccezione 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
Gerarchia di ereditarietà
System.Object
System.Attribute
Microsoft.VisualStudio.TestTools.UnitTesting.ExpectedExceptionAttribute
Codice thread safe
Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Vedere anche
Riferimenti
Membri ExpectedExceptionAttribute
Spazio dei nomi Microsoft.VisualStudio.TestTools.UnitTesting