Compartilhar via


Upgrading Unit Tests from Visual Studio 2010

Visual Studio 2012 inclui a compatibilidade de projeto de teste com projetos de teste de Visual Studio 2010 SP1.Por exemplo, o teste projetos que você criou com Visual Studio 2010 SP1 pode ser aberto usando Visual Studio 2012 sem qualquer atualização.Portanto, sua equipe pode usar Visual Studio 2010 SP1 e Visual Studio 2012 para trabalhar com o mesmo projeto de teste.Para obter mais informações, consulte Upgrading tests from Visual Studio 2010.

Visual Studio 2012 apresenta várias alterações para testes de unidade.Devido a essas alterações, é importante compreender os problemas de compatibilidade entre versões anteriores do Visual Studio e Visual Studio 2012.Entre as alterações para testes de unidade, uma alteração é significativa que Visual Studio 2012 inclui mais de um modelo de projeto de teste, incluindo um modelo de projeto de teste de unidade.Novos testes de unidade são adicionados ao novo modelo de projeto de teste de unidade.Os testes de unidade também podem ser incluídos em um novo modelo de projeto de teste chamado codificado o modelo de projeto de teste de interface do usuário.Para obter mais informações sobre novos modelos de projeto de teste, consulte Atualizando os testes de versões anteriores do Visual Studio.Novos projetos de testes de unidade não incluem configurações de um teste arquivo por padrão.Excluindo as configurações de teste arquivo, o desempenho de seus testes de unidade melhora.Para compatibilidade, você ainda pode usar o teste existente projetos que você criou usando Visual Studio 2010.No entanto, recomendamos que você remover o arquivo de configurações de teste associado com o projeto de teste por razões de desempenho a menos que você tenha uma necessidade específica para o arquivo de configurações de teste.Por exemplo, você pode escolher manter as configurações de teste arquivos se sua execução de testes de unidade em um ambiente distribuído, ou você precisará coletar dados diagnóstico específicos.Se você tiver uma necessidade semelhante usando o novo modelo de projeto de teste de unidade, ou codificado o modelo de projeto de teste de interface do usuário, você pode manualmente adicionar-lhes um arquivo de configurações de teste também.

ObservaçãoObservação

Os existentes testes de unidade em seus projetos de teste de Visual Studio 2010 SP1 funcionarão perfeitamente entre Visual Studio 2010 SP1 e Visual Studio 2012.Nenhuma alteração é feita para os arquivos de projeto de teste quando um projeto de teste do Visual Studio 2010 que contém seus testes de unidade é aberto em Visual Studio 2012, ou vice-versa.

Observação de cuidadoCuidado

Visual Studio 2010 não pode abrir o projeto de energia AC ++/CLI que acessam o kit de ferramentas 11,0 (isto é, um projeto criado em Visual Studio 2012).Essa limitação se aplica a todos os projetos de C++/CLI, não apenas projetos de testes de unidade de C++/CLI.

ObservaçãoObservação

Você pode executar os novos testes de unidade usando vstest.console.exe de linha de comando.Para obter mais informações sobre como usar vstest.console.exe, consulte Opções da linha de comando VSTest.Console.exe, ou executar o comando usando a opção da ajuda: vstest.console.exe /?/?.Você pode continuar a executar seus testes de unidade existentes usando MStest.exe.Para obter mais informações, consulte Como: executar testes a partir da linha de comando usando MSTest de Automated e Opções de linha de comando do MSTest. exe.

Outra alteração significativa é o novo teste Explorer.Em Visual Studio 2012, algumas das janelas que testando você pode estar familiarizado com a versão anterior do Visual Studio foram substituídas, como a janela de exibição de teste.O teste Explorer é criado para melhorar os desenvolvedores e equipes de suporte que incorporam testes de unidade nas práticas de programação de software.Para obter mais informações, consulte Executando testes de unidade com Test Explorer.

Problemas de compatibilidade entre o Visual Studio 2010 SP1 e Visual Studio 2012

Eis alguns problemas para estar cientes de quando você migre testes de unidade entre o Visual Studio 2010 SP1 e Visual Studio 2012:

Funcionalidade de testes de unidade

Problema

Solução

As listas de teste (arquivos de .vsmdi) são substituídas em Visual Studio 2012.

Você não poderá criar novos listas de teste (arquivos de .vsmdi) ou o teste de execução lista do Visual Studio.

DicaDica
As categorias de teste fornecem mais flexibilidade da funcionalidade de listas de teste de versões anteriores do Microsoft Visual Studio.Você pode usar os operadores lógicos com categorias de teste para executar testes junto de várias categorias ou para limitar os testes que você executa a testes que pertencem às várias categorias.Além disso, as categorias de teste são fáceis de adicionar porque você cria seus métodos de teste e você não precisa manter listas de teste depois que você criou os métodos de teste.Usando categorias de teste, você não tem que fazer check-in e fazer o check-out do arquivo de <solution name>.vsmdi que mantém as listas de teste.Para obter mais informações, consulte Definindo categorias de teste para agrupar os testes.

Os acessadores particulares são substituídos em Visual Studio 2012.

Em versões anteriores do Visual Studio, você pode usar publicação para especificar interfaces de programação de aplicativo (API) internas e criar as contrapartes API públicas que você pode chamar seus testes, que por sua vez, chamada nas APIs internos do produto.Você pode usar a geração de código para criar os modelos de teste e para gerar o interior de trecho de código que arrancam.

Você não poderá criar acessadores particulares.

  • Projetos de teste do Visual Studio 2010 compilarão e funcionarão em Visual Studio 2012.A compilação incluirá avisos de saída.

  • Se você ainda precisará testar APIs internos, você tem as seguintes opções:

    • Use a classe de PrivateObject para ajudar em acessar APIs internos e particulares no seu código.Isso é encontrado no conjunto de Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll.

    • Criar uma estrutura de reflexão que possa refletir fora de seu código para acessar APIs internos ou particulares.

    • Se o código que você está tentando acessar está interno, você poderá acessar seus APIs usando InternalsVisibleToAttribute assim que o código de teste pode ter acesso às APIs internos.

O impacto de teste é removido

Compartilhar de resultados de execução com TRX efetua logon de teste Explorer.

Você ainda pode obter logs de TRX de linha de comando e de compilação de equipe.

Cobertura de código nativo com testes de unidade C++

Quando o teste de unidade de c++ falha e tinta de código está ativado, não há rastreamento de pilha para a falha.

A solução alternativa é executar testes de unidade C++ sem tinta de código e obter o callstack para identificar o problema.

Consulte também

Conceitos

Atualizar projetos para carregar em várias versões do Visual Studio

Verificando o código usando testes de unidade

Atualizando os testes de versões anteriores do Visual Studio

Atualizando testes codificados da interface do usuário de 2010 de Visual Studio