ExpectedExceptionAttribute (Clase)
Actualización: noviembre 2007
Indica que se espera una excepción durante la ejecución del método de prueba. Esta clase no puede heredarse.
Espacio de nombres: Microsoft.VisualStudio.TestTools.UnitTesting
Ensamblado: Microsoft.VisualStudio.QualityTools.UnitTestFramework (en Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll)
Sintaxis
<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
Comentarios
Este atributo se utiliza para comprobar si se inicia una excepción esperada. El método de prueba es correcto si se inicia la excepción esperada. Se producirá un error en la prueba si la excepción iniciada hereda de la excepción esperada.
Si una prueba tiene un atributo ExpectedException y una instrucción Assert, cualquiera de los dos puede provocar un error en la prueba. Para determinar si el error fue provocado por el atributo o por la instrucción, haga doble clic en el resultado de la prueba para abrir la página de resultados para esa prueba. Para obtener más información acerca de los resultados de pruebas, vea Resultados de prueba registrados en un informe.
Este atributo puede especificarse en un método. Sólo puede haber una instancia de este atributo en un método.
Para obtener más información sobre cómo utilizar los atributos, vea Extender metadatos mediante atributos.
Ejemplos
La clase siguiente contiene el método que se va a probar:
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
El siguiente método prueba el método Divide del objeto DivisionClass. Prueba la existencia de una 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
Jerarquía de herencia
System.Object
System.Attribute
Microsoft.VisualStudio.TestTools.UnitTesting.ExpectedExceptionAttribute
Seguridad para subprocesos
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Vea también
Referencia
ExpectedExceptionAttribute (Miembros)
Microsoft.VisualStudio.TestTools.UnitTesting (Espacio de nombres)