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 de ExpectedExceptionAttribute classe com uma exceção esperada. | |
ExpectedExceptionAttribute(Type, String) | Inicializa uma nova instância de ExpectedExceptionAttribute o tipo de exceção esperada e a classe com e uma mensagem que descreve a exceção. |
Início
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.) |
Início
Métodos
Nome | Descrição | |
---|---|---|
Equals | Infraestrutura. Returns a value that indicates whether this instance is equal to a specified object. (Herdado de Attribute.) | |
Finalize | Permite que um objeto tentar liberar recursos e executar outras operações de limpeza antes que ele é recuperado pela coleta de lixo. (Herdado de Object.) | |
GetHashCode | Retorna o código hash para essa instância. (Herdado de Attribute.) | |
GetType | Obtém o 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.) | |
MemberwiseClone | Cria uma cópia superficial do atual Object. (Herdado de Object.) | |
RethrowIfAssertException | Lança a exceção novamente se ele for um AssertFailedException ou um AssertInconclusiveException. (Herdado de ExpectedExceptionBaseAttribute.) | |
ToString | Retorna um string que representa o objeto atual. (Herdado de Object.) | |
Verify | Infraestrutura. (Herdado de ExpectedExceptionBaseAttribute.) |
Início
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.) |
Início
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 é lançada. O teste falhará se a exceção gerada herda a partir da exceção esperada.
Se um teste tem tanto um atributo ExpectedException e uma Assert instrução, qualquer deles pode causar 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 os 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 de teste:
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 static (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.