Classe ExpectedExceptionAttribute
Indica que uma exceção é o esperado durante a execução do método de teste.Esta classe não pode ser herdada.
Hierarquia de herança
System.Object
System.Attribute
Microsoft.VisualStudio.TestTools.UnitTesting.ExpectedExceptionBaseAttribute
Microsoft.VisualStudio.TestTools.UnitTesting.ExpectedExceptionAttribute
Namespace: Microsoft.VisualStudio.TestTools.UnitTesting
Assembly: Microsoft.VisualStudio.QualityTools.UnitTestFramework (em Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll)
Sintaxe
'Declaração
<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
O tipo ExpectedExceptionAttribute expõe os membros a seguir.
Construtores
Nome | Descrição | |
---|---|---|
ExpectedExceptionAttribute(Type) | Inicializa uma nova instância da ExpectedExceptionAttribute classe com uma exceção não esperada. | |
ExpectedExceptionAttribute(Type, String) | Inicializa uma nova instância da ExpectedExceptionAttribute o tipo de exceção esperada e classe com e uma mensagem que descreve a exceção. |
Superior
Propriedades
Nome | Descrição | |
---|---|---|
AllowDerivedTypes | ||
ExceptionType | Obtém o tipo de exceção esperada. | |
NoExceptionMessage | Infraestrutura. (Herdado de ExpectedExceptionBaseAttribute.) | |
TestContext | Infraestrutura. (Herdado de ExpectedExceptionBaseAttribute.) | |
TypeId | Quando implementado em uma classe derivada, obtém um identificador exclusivo para este Attribute. (Herdado de Attribute.) |
Superior
Métodos
Nome | Descrição | |
---|---|---|
Equals | Infraestrutura. Retorna um valor que indica se esta instância é igual a um objeto especificado. (Herdado de Attribute.) | |
GetHashCode | Retorna o código hash para essa instância. (Herdado de Attribute.) | |
GetType | Obtém Type da instância atual. (Herdado de Object.) | |
IsDefaultAttribute | Quando substituído em uma classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada. (Herdado de Attribute.) | |
Match | Quando substituído em uma classe derivada, retorna um valor que indica se esta instância é igual a um objeto especificado. (Herdado de Attribute.) | |
ToString | Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object.) | |
Verify | Infraestrutura. (Herdado de ExpectedExceptionBaseAttribute.) |
Superior
Implementações explícitas da interface
Nome | Descrição | |
---|---|---|
_Attribute.GetIDsOfNames | Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho. (Herdado de Attribute.) | |
_Attribute.GetTypeInfo | Recupera as informações de tipo para um objeto, que pode ser usado para obter as informações de tipo para uma interface. (Herdado de Attribute.) | |
_Attribute.GetTypeInfoCount | Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1). (Herdado de Attribute.) | |
_Attribute.Invoke | Fornece acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute.) |
Superior
Comentários
Este atributo é usado para testar se uma exceção não esperada é lançada.O método de teste passará a se a exceção esperada.O teste falhará se a exceção gerada herda as exceções esperadas.
Se um teste tem tanto um atributo ExpectedException e uma Assert instrução, qualquer deles pode fazer com que o teste falhar.Para determinar se o atributo ou a instrução causado o teste falhar, clique duas vezes o resultado do teste para abrir a página de detalhes dos resultados para o teste.Para obter mais informações sobre resultados de teste, consulte Test Results Reported.
Esse atributo pode ser especificado em um método.Pode haver apenas uma instância desse atributo em um método.
Para obter mais informações sobre como usar os atributos, consulte Estendendo metadados usando atributos.
Exemplos
A seguinte classe contém o método para testar:
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
O método de teste a seguir testa o método de divisão do objeto DivisionClass.Ele testa a existência de um 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
Acesso thread-safe
Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.