Pergunta

Eu tenho um grande conjunto de testes de NuNit; Preciso importar os resultados de uma determinada execução para um banco de dados, depois caracterizar o conjunto de resultados e apresentá -los aos usuários (email para falhas de teste, apresentação da Web para examinar os resultados). Também preciso rastrear várias execuções ao longo do tempo (para relatar taxas de falha ao longo do tempo, etc.).

O XML será o XML gerado pelo Nunit-Console. Gostaria de importar o XML com um mínimo de confusão em algum banco de dados que pode ser usado para persistir e apresentar resultados. Teremos várias categorias personalizadas que também precisaremos classificar.

Alguém conhece um esquema de banco de dados que pode lidar com a importação desse tipo de dados que podem ser personalizados para nossas necessidades individuais? Esse tipo de problema parece que deve ser comum e, portanto, uma solução comum deve existir para ele, mas não consigo encontrar um. Se alguém já implementou essa solução antes, o conselho também seria apreciado.

Foi útil?

Solução

Parece -me que você está realmente depois de um servidor de construção, como CruiseControl.net ou Teamcity.

Obtenha o servidor de construção para executar os testes e faz o trabalho de dizer às pessoas o que falhou e por quê.

Eu recomendo o TeamCity, pois são várias ordens de magnitude mais fáceis de configurar.

Outras dicas

Estou aqui procurando resolver o mesmo problema. Atualmente, estamos inclinados a escrever um XSLT para transformar os resultados do XML em declarações de inserção. Em seguida, execute o arquivo resultante das instruções de inserção por meio de um intérprete SQL da linha de comando. Idealmente, eu prefiro ter um suplemento/extensão de curvas que lida com tudo isso para mim. Infelizmente, não consegui encontrar um.

Para construir a resposta de Iainmh, você pode querer dar uma olhada no uso de trac com MORDIDO, é um sistema de construção de código aberto, que pode executar testes de unidade N e relatar os resultados. Atualmente, eu o uso para essa funcionalidade exata.

Ao usar o MS SQL, você pode importar todos os XMLs para uma coluna comum de [XML] Datatype. Sobre isso, Xpaths, pesquisa e transformações podem ser realizadas.

Outra alternativa ao CruiseControl ou TeamCity é Bambu atlassianos Se você está amarrado por dinheiro. Sou um grande fã do software deles por sua facilidade de uso e eles têm um acordo sobre onde você pode obter bambu por 10 dólares.

Esperamos evitar isso, mas geramos um esquema de banco de dados a partir do esquema XML do resultado da Nunit; É um pouco deficiente, no entanto, porque a Nunit faz algum processamento (impreciso e estranho) para determinar algumas das estatísticas críticas ("ignoradas" vs. "não executar", por exemplo).

Ainda esperamos encontrar um esquema / processo que não seja um sistema completo de compilação do CIT que possa nos permitir personalizar um banco de dados para importar os resultados, mas atualmente estamos usando um banco de dados rolado à mão que precisamos fazer Muita personalização para obter os relatórios desejados.

Por que você precisa ter os resultados em um banco de dados? Quem vai usá -los? O número de falhas não pode ser grande. Se estiver (repetidamente), seu processo de desenvolvimento está errado. Corrija o processo. Elimine o desperdício (um dos princípios magros), não o colete.

Dê passos menores (iterações mais curtas, construção contínua), elimine as dependências.

Isso não é comum, porque projetos que têm esse tipo de problema não são entregues, mas são cancelados (eventualmente).

Editar] Michael, rastreando falhas de freiras por mais tempo fornece valor zero. Você precisa de um curto loop de feedback. Corrija os problemas agora. Se você esperar até acumular muitos problemas, ficará impressionado com o barulho.

Um bom problema de rastreamento é feito no nível direito (maior abstração possível). Definitivamente não é um teste de unidade.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top