Unit Testing e .Net

5

Vindo de um background de desenvolvimento nativo, estou acostumado com meus corredores de teste de unidade que geram o arquivo e a linha que causaram a falha do teste. Isso permitiu que eu executasse os testes como uma etapa de pós-compilação e, se algum teste falhasse, a compilação falharia. Além disso, eu poderia pressionar a tecla de atalho e pular diretamente para a linha ofensiva.

O que estou descobrindo no mundo do .Net é que ninguém parece funcionar dessa maneira. Estou disposto a admitir que talvez haja uma maneira diferente e melhor de fazer as coisas neste universo alternativo, mas gostaria de saber o que é isso. Eu não quero precisar de uma ferramenta externa (horrível) e não quero ter que lembrar de compilar e executar meus testes.

O que eu realmente quero é o que eu costumava ter: falhas nos testes também falham na compilação, e um pressionamento rápido de uma tecla de atalho me levaria ao teste que falhou.

Editar: devo acrescentar que gostaria de ver algum tipo de integração com o formato de arquivo csproj do Visual Studio. Ter uma Tarefa MSBuild personalizada seria ótima, mas eu ficaria perfeitamente feliz com um comando de console que coloco dentro de um Exec ou AfterBuild.

    
por moswald 01.06.2011 / 18:41
fonte

4 respostas

0

Como ninguém explicou adequadamente por que eu gostaria de mudar meus caminhos, eu mesmo já implementei a solução. Eu bifurquei o xUnit para corrigir a saída da sua tarefa de compilação do MSBuild .

    
por 06.07.2011 / 13:58
fonte
2

NAnt é popular entre os desenvolvedores .NET para criar scripts de construção. Você pode usá-lo para criar vários alvos de construção , como: compilação, teste de unidade, cobertura de código de execução, teste de aceitação, publicação, etc.

Você pode configurar dependências entre destinos, por exemplo, O teste unitário depende da compilação, o teste de aceitação depende do teste unitário, etc. Se um alvo falhar, os alvos dependentes não serão executados.

A saída de cada destino entra em um arquivo de log de construção , é aí que você pode registrar seus erros de teste.

Com a maioria das tarefas que seus destinos de compilação executarão (por exemplo, nunit2 que pode ser usado para executar testes de unidade) você pode especificar failonerror="true" para fazer a compilação falhar se você não obteve o resultado esperado (por exemplo, todos os testes passar).

    
por 01.06.2011 / 18:56
fonte
0

Se estiver disponível para você, você poderá configurar as versões do Team Foundation Server. Este link pode ajudar - Configure seu sistema de compilação

    
por 01.06.2011 / 20:01
fonte
0

Anteriormente, consegui que isso funcionasse executando o Console Runner do nUnit em uma etapa de pós-compilação e, em seguida, usando o formato de saída XML de nUnit e canalizando isso através de um XSLT usando um pequeno arquivo XSL que escrevemos para produzir o arquivo file (line): what para falhas de teste.

IIRC Eu criei um bug com a equipe nUnit para fazer com que eles melhorassem a saída XML para tornar isso um pouco mais fácil - mas esta página implica que isso já funciona. Você está usando a versão mais recente?

    
por 06.07.2011 / 20:21
fonte

Tags