Os testes de unidade personalizada usando a estrutura de testes de unidade de codificação.
O Unit Testing Framework oferece suporte a teste de unidade no Visual Studio. Usar as classes e membros da Microsoft.VisualStudio.TestTools.UnitTesting namespace quando você codificar testes de unidade. Você pode usa-los quando você tem que escrever testes de unidade a partir do zero ou refinar um teste unidade que foi gerado a partir do código que você está testando.
Grupos de elementos
Para ajudar a fornecem uma visão clara sobre o teste de unidade do Framework, esta seção organiza os elementos do namespace UnitTesting em grupos de funcionalidades relacionadas.
Observação |
---|
Os elementos de atributo, cujos nomes terminam com a sequência Attribute, podem ser usados tanto com ou sem a sequência Attribute. Por exemplo, os dois código de exemplos a seguir funcionam igualmente: [TestClass()] [TestClassAttribute()] |
Elementos usados no teste orientado a dados
Use os seguintes elementos para configurar um teste de unidade orientado a dados. Para obter mais informações, consulte Como: Criar um teste de unidade orientado a dados e Demonstra Passo a passo: Usando um arquivo de configuração para definir uma fonte de dados.
Atributos usados para estabelecer um teste orientados a dados
Um elemento decorado no código com um dos seguintes atributos é chamado no momento você for especifica-lo. Para obter mais informações, consulte Anatomia de um teste de unidade.
Para Assemblies
AssemblyInitialize e AssemblyCleanup são chamados diretamente após que seu assembly ser carregado e diretamente antes que seu assembly seja descarregado.
Para Classes
ClassInitialize e ClassCleanup são chamados direitamente após que sua classe ser carregada e direitamente antes que sua classe seja descarregada.
Para métodos de teste
Atributos usados para identificar classes de teste e métodos
Toda classe de teste deve ter o atributo TestClass, e todo método de teste deve ter o atributo TestMethod. Para obter mais informações, consulte Anatomia de um teste de unidade.
Classes de Confirmação e Exceções Relacionadas
O teste de unidade pode verificar o comportamento de um aplicativo específico pelo seu uso de vários tipos de instruções de afirmação, exceções, e atributos. Para obter mais informações, consulte Usando a Classes Assert.
A classe TestContext
Os seguintes atributos e os valores atribuídos a eles aparecem na Visual Studio janela Propriedades de um método de teste específico. Esses atributos não são destinados a serem acessados através do código do teste unidade. Em vez disso, elas afetam o maneiras o teste de unidade é usado ou executar, por você através da IDE de Visual Studio, ou pela Visual Studio mecanismo de teste.Por exemplo, alguns desses atributos aparecem como colunas na janela Test Manager e na janela Test Results, o que significa que você pode usá-los para agrupar e classificar de testes e testar os resultados. Um desses atributos é TestPropertyAttribute, que você usar para adicionar metadados arbitrários para os testes de unidade. Por exemplo, você pode usá-lo para armazenar o nome de uma passagem no teste que cobre por esse teste, marcando o teste de unidade com [TestProperty("TestPass", "Accessibility")]. Ou você pode usá-lo para armazenar um indicador do tipo de teste é: [TestProperty("TestKind", "Localization")]. A propriedade que você criar usando esse atributo e o valor de propriedade que você atribuiu, são exibidos na Visual Studio janela de propriedades sob o título Test specific.
Classes de configuração de testes
Atributos usados para a geração de relatórios
Os atributos nesta seção relacionam os métodos de teste que eles decoram em entidades na hierarquia do projeto de um Team Foundation Server projeto de equipe.
Classes usadas com Acessadores particulares
Conforme descrito em Usando divulgar para criar um acessador privado, é possível gerar um teste de unidade para um método particular. Esta geração cria uma classe de acesso particular, que instância um objeto da classe PrivateObject. A classe PrivateObject é uma classe com conteúdo adicional que usa reflexão como parte do processo do acessador particular. A classe PrivateType é semelhante, mas é usada para chamar métodos estáticos em vez de chamar métodos com uma instância particular privada.