Usuários mais ativos no mês 12/2019
  1. henrique.muller

    843 Pontos

  2. paulo.silva

    842 Pontos

  3. maicon.pereira

    582 Pontos

  4. juliano.pezzini

    464 Pontos

  5. leandro.piscke

    428 Pontos

  6. diuari.molinari

    391 Pontos

  7. dirceu.schlickmann

    347 Pontos

  8. Camila

    288 Pontos

  9. bruno.cardoso

    272 Pontos

  10. Rafael Leonhardt

    253 Pontos

BIT: é possível isolar a execução dos testes para não executar os testes de BIT?

+3 votos
353 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?
perguntou Fev 1 por Rafael Leonhardt (253 pontos)
reclassificado Fev 1 por henrique.muller
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. 

respondida Fev 1 por henrique.muller (843 pontos)
selecionada Fev 1 por paulo.silva
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.
respondida Fev 1 por jean.fuck (14 pontos)
editado Fev 1 por jean.fuck
É 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

+3 votos
1 resposta 22 visitas
0 votos
1 resposta 3 visitas
+2 votos
1 resposta 32 visitas
+5 votos
1 resposta 44 visitas
...