Compartilhar via


Como agrupar e executar testes automatizados usando categorias de teste

As categorias de teste permitem executar grupos de testes com base em suas categorias atribuídas sem a necessidade de manter listas de testes. Uma categoria de teste é um atributo de método de teste que você pode atribuir a um ou mais testes.

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 executa a testes que pertençam a várias categorias. Além disso, é fácil adicionar categorias de teste à medida que você cria seus métodos de teste, e não é necessário manter listas de testes após você ter criado os métodos de teste.

Requisitos

  • Visual Studio Ultimate, Visual Studio Premium, Visual Studio Test Professional

Criando e atribuindo categorias de teste

Para adicionar categorias de teste manualmente a um teste

  1. Em seu projeto de teste de unidade, ou projeto de teste de IU codificado no Gerenciador de Soluções, abra o arquivo que contém o teste de unidade e localize o método de teste de unidade que deseja alterar.

  2. Diretamente acima da declaração do método de teste, adicione um atributo [TestCategory()] para cada categoria de teste que você deseja atribuir ao teste. Separe cada atributo usando uma vírgula.

  3. Adicione o nome da categoria entre parênteses para cada atributo [TestCategory()]. O exemplo a seguir é um método com três categorias de teste atribuídas a ele, denominadas "Nightly", "Weekly" e "ShoppingCart":

    [TestCategory("Nightly"), TestCategory("Weekly"), TestCategory("ShoppingCart"), TestMethod()]
    public void DebitTest()
    {
    }
    

Executando testes por categorias

Quando executar testes da linha de comando, você também pode usar operadores lógicos & (AND), | (OR) e !(NOT) para selecionar os testes para a execução com base nas categorias atribuídas aos testes.

Para executar um teste usando categorias da linha de comando

  1. Abra um Visual Studio prompt de comando.

    Para fazer isso, escolha Iniciar, aponte para Todos os Programas, Microsoft Visual Studio 2013, Ferramentas do Visual Studio e escolha Prompt de Comando do Desenvolvedor.

    Por padrão, o prompt de comando do Visual Studio abre a seguinte pasta:

    < letra da unidade >: \Program Files\Microsoft Visual Studio 12.0 \ VC

    Dica

    Para alterar a pasta que a janela do prompt de comando abre por padrão, escolha Iniciar, aponte para Microsoft Visual Studio 2013, Ferramentas do Visual Studio, clique com o botão direito do mouse em Prompt de Comando do Desenvolvedor e escolha Propriedades.Na caixa de diálogo Propriedades do Prompt de Comando do Desenvolvedor, você pode alterar o caminho da pasta padrão na caixa Iniciar em.

  2. Altere o diretório para o local na pasta da solução onde o contêiner de teste está localizado, normalmente o arquivo .dll do projeto de teste, ou, quando executar o programa MSTest.exe na etapa 3, especifique um caminho completo ou relativo para o contêiner de teste.

    Para identificar a pasta da solução, identifique primeiro a pasta Visual StudioProjects do . Para fazer isso, escolha Opções no menu Ferramentas do Visual Studio e escolha Projetos e Soluções. Em Local dos projetos do Visual Studio, você verá um caminho como este:

    <drive letter>:\Documents and Settings\<user name>\My Documents\Visual Studio\Projects

    A pasta da sua solução normalmente é um filho da pasta Projects, como a pasta Bank no seguinte exemplo:

    <drive letter>:\Documents and Settings\<user name>\My Documents\Visual Studio\Projects\Bank

  3. Para executar testes atribuídos à categoria “Nightly”, execute VSTest.Console.exe, usando as opções /TestCaseFilter ou o MSTest.exe usando as opções /category e /testcontainer:

    VSTest.Console.exe

    VSTest.console.exe myTestProject.dll /TestCaseFilter:TestCategory = noturnos

    MSTest.exe

    mstest /testcontainer:MyTestprojectName.dll /category:"Nightly"

    Os resultados e o resumo são exibidos na janela do prompt de comando.

    Dica

    Você pode usar AND ou OR na sua expressão para selecionar categorias de teste, mas não os dois na mesma expressão.

    Para obter mais informações, consulte Opções da linha de comando de VSTest.Console.exe, Executar testes automatizados da linha de comando usando o MSTest e opções da linha de comando de MSTest.exe.

Consulte também

Conceitos

Definindo categorias de teste para agrupar os testes