Como agrupar e executar testes automatizados usando categorias de teste
Publicado: abril de 2016
As categorias de teste permitem executar grupos de teste com base em suas categorias atribuídas sem a necessidade de manter listas de teste. Uma categoria de teste é um atributo do 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 você executa a testes que pertencem às várias categorias. Além disso, é fácil adicionar categorias de teste à medida em 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
- O Visual Studio Enterprise, Visual Studio Test Professional
Criando e atribuindo categorias de teste
Para adicionar categorias de teste manualmente a um teste
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 então localize o método de teste de unidade que deseja alterar.
Diretamente acima da declaração de 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.
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 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 de linha de comando
Abra um prompt de comando do Visual Studio. (Vá para iniciar, todos os programas, Microsoft Visual Studio, ferramentas do Visual Studio, o Prompt de comando do desenvolvedor).
Por padrão, o prompt de comando do Visual Studio é aberto na seguinte pasta:
< letra da unidade >: \Program Files\Microsoft Visual Studio 12.0 \ VC
Dica
Para alterar a pasta à qual a janela de prompt de comando abre por padrão, escolha Iniciar, aponte para Microsoft Visual Studio, aponte para Visual Studio Tools, clique com botão direito Prompt de comando do desenvolvedor, e, em seguida, 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.
Altere o diretório para o local na pasta da solução onde está localizado, o contêiner de teste normalmente arquivo. dll do projeto de teste, ou, quando você executa o programa MSTest.exe na etapa 3, especifique um caminho completo ou relativo para o contêiner de teste.
Para identificar sua pasta de solução, identifique primeiro a pasta Projetos. Para fazer isso, escolha Opções no menu Ferramentas do Visual Studio e escolha Projetos e Soluções. Em Localização de projetos do Visual Studio, você verá um caminho como o seguinte:
<drive letter>:\Documents and Settings\<user name>\My Documents\Visual Studio\Projects
Sua pasta de solução é normalmente um filho desta pasta de Projetos, como a pasta de banco no exemplo a seguir:
<drive letter>:\Documents and Settings\<user name>\My Documents\Visual Studio\Projects\Bank
Para executar testes atribuídos à categoria “Noturno”, execute VSTest.Console.exe, usando a opção /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 ou AND ou OR na sua expressão para selecionar categorias de teste, mas não em ambos 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.