Question

J'ai une grande série de tests NUnit; Je dois importer les résultats d'une série donnée dans une base de données, puis caractériser l'ensemble des résultats et de les présenter aux utilisateurs (e-mail pour les échecs de test, présentation web pour l'examen des résultats). Je dois être suivi de plusieurs pistes au fil du temps, ainsi que (pour les rapports taux d'échec au fil du temps, etc.).

Le XML sera le XML généré par nunit-console. Je voudrais importer le XML avec un minimum de bruit dans une base de données qui peuvent ensuite être utilisés pour persister et présenter les résultats. Nous aurons un certain nombre de catégories personnalisées que nous devons être en mesure de trier à travers, aussi bien.

Quelqu'un sait-il d'un schéma de base de données qui peut gérer l'importation de ce type de données qui peuvent être personnalisés à nos besoins? Ce type de problème semble comme il devrait être commun, et donc une solution commune doit exister pour elle, mais je ne peux pas sembler trouver un. Si quelqu'un a mis en place une telle solution avant, conseil serait apprécié aussi bien.

Était-ce utile?

La solution

Il me semble que vous êtes en fait après un serveur de build comme ou href="http://www.jetbrains.com/teamcity/" rel="nofollow noreferrer"> TeamCity .

Obtenez le serveur de build pour exécuter les tests, et il fait le travail de dire aux gens ce qui a échoué, et pourquoi.

Je recommande TeamCity comme il est plusieurs ordres de grandeur plus facile à mettre en place.

Autres conseils

Je suis ici à la recherche de résoudre le même problème. Nous sommes actuellement penchions vers écrire un XSLT pour transformer les résultats XML dans les instructions d'insertion. Ensuite, exécutez le fichier résultant des instructions d'insertion par une ligne de commande interpréteur SQL. Idéalement, je préférerais avoir un NUnit add-in / extention qui gère tout cela pour moi. Malheureusement, je ne l'ai pas été en mesure de trouver un.

Pour construire au large de la réponse de IainMH vous pouvez jeter un oeil à l'aide de Trac avec Bitten, il est un système de construction open source, qui peut exécuter des tests n-unité et rendre compte des résultats. J'utilise actuellement pour cette fonctionnalité exacte.

Lorsque vous utilisez MS SQL, vous pouvez importer tous les fichiers XML à une colonne commune de [xml] type de données. Sur ce, XPath, la recherche et les transformations peuvent être effectuées.

Une autre alternative à CruiseControl ou TeamCity est Atlassians Bamboo si vous êtes à court d'argent . Je suis un grand fan de leur logiciel pour sa facilité d'utilisation et ils ont un accord sur l'endroit où vous pouvez obtenir le bambou pour 10 dollars.

Nous avons espéré éviter cela, mais nous avons généré un schéma de base de données à partir du schéma XML résultat NUnit; il est un peu déficient, cependant, parce que NUnit fait un certain traitement (inexact et étrange) pour déterminer certaines des statistiques critiques ( « ignorées » par rapport à « pas courir », par exemple).

Nous espérons toujours trouver un schéma / processus qui est pas un système complet de construction de CIT qui peut nous permettre de personnaliser une base de données pour importer les résultats, mais actuellement nous utilisons une base de données roulées à la main que nous allons besoin de faire beaucoup de personnalisation sur pour obtenir le rapport désiré.

Pourquoi avez-vous besoin d'avoir les résultats dans une base de données? Qui va les utiliser? Le nombre d'échecs ne peut pas être grand. Si elle est (à plusieurs reprises) votre processus de développement est erroné. Fixer le processus. Éliminer les déchets (un des principes maigres), ne recueillent pas.

Prenez les petites étapes (itérations plus courtes, la construction continue), d'éliminer les dépendances.

Ceci est est généralement pas fait, parce que les projets qui ont ce genre de problèmes ne fournissent pas, mais sont annulés (par la suite).

[modifier] Michael, le suivi des échecs de NUnit sur une période plus longue fournit une valeur nulle. Vous avez besoin d'une petite boucle de rétroaction. Résoudre les problèmes maintenant. Si vous attendez jusqu'à ce que vous avez accumulé beaucoup de problèmes, vous allez être submergé par le bruit.

Bon suivi des problèmes est fait au bon niveau (le plus élevé d'abstraction possible). Certainement pas test unitaire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top