+3 votos
525 visitas
Enquanto não temos automatizado/estabilizado o ambiente de execução dos testes integrados de BIT, gostaria que na integração contínua, os testes de BIT não fossem executados. Sendo que no mesmo projeto tem testes unitários e de BIT.

Alguma forma de anotar ou desativar os testes de BIT sem acusar erro, apenas ignorar sua execução?
por (253 pontos)
reclassificado por | 525 visitas
Classifiquei a pergunta como testes com o vstest (MSTest). Caso for outro framework podes especifica-lo
Atualmente o teste BIT não tem diferença de um teste normal (antigamente tinha, usáva-mos BefTestClassAttribute). Acredito que as abordagens corretas são as que o @henrique.muller postou.

2 Respostas

+4 votos
Melhor resposta

Se a execução dos teste for no VSTest.Console.exe, da para aplicar o filtro com o parametro TestCaseFilter, mas isso vai exigir um [TestCategory] em cada teste que voce quer executar. 

/TestCaseFilter:"TestCategory=UnitTest"

Outra sugestão é migrar os testes do BIT para um projeto isolado, assim é mais facil de filtrar eles. 

por (899 pontos)
selecionada por
No Corporativo foi definido que os testes unitários e de integração fossem construídos em projetos separados, justamente para resolver este problema.
O "Category" vamos usar para outros fins (a priori será para separar os assuntos de negócio, ex: "Testes de Ordem de venda", "Testes de Faturamento", "Testes de Tesouraria")
Blz, otimo.

Vlw pessoal.
0 votos
Se você estiver usando o VSTest, uma opção é você adicionar o atributo [Ignore] em cada teste ou classe de integração.
Nesse atributo, você pode até escrever uma mensagem explicando o porquê esses testes não estão sendo executados.
por (23 pontos)
editado por
É que quero ignorar dependendo do contexto. Por exemplo, na maquina local ou em um ambiente especifico os testes é para ser executados, então não posso usar o Ignore. A opção mais provavel é o uso de categorização, que no CI posso configurar quais categorias executarem.
Se fosse para distinguir apenas uma máquina local, do ambiente da integração contínua, daria para utilizar o condicional de atributo LOCALDEVBUILD.

Mas como você precisa ignorar em diferentes contextos, realmente a categorização deve lhe atender melhor.

Perguntas relacionadas

0 votos
1 resposta
+2 votos
1 resposta
+5 votos
1 resposta
Melhores Apr 2020
  1. Williamhss

    5 Pontos

  2. willian.metalsystem

    4 Pontos

200 pontos
Melhores 2020 Mar 30 - Apr 05
  1. willian.metalsystem

    6 Pontos

  2. Williamhss

    5 Pontos

  3. anônimo

    5 Pontos

422 perguntas
470 respostas
342 comentários
466 usuários