Question

Nous avons un grand projet Delphi (1,5 millions de lignes de code), et nous nous déplaçons à l'utilisation des processus agiles.

Nous avons déjà un environnement d'intégration continue (FinalBuilder) que j'ai mis à jour pour inclure les tests unitaires (Dunit) et métriques de code (CodeHealer) dans les e-mails à tout le monde dans notre équipe de développement. Notre couverture de test unitaire n'est pas grande, donc je suis maintenant essayer d'obtenir AQtime dans le mélange pour certains résultats de couverture de test sur chaque construction.

J'utilise la tâche « programme Exécuter » pour lancer l'exécutable de test unitaire, connectez-vous les résultats et analyser le fichier par la suite. J'ai l'intention d'utiliser la tâche « Exécuter le script » pour exécuter AQtime (via COM) et exporter les résultats au format XML afin que je puisse analyser par ces résultats.

La question que j'ai est avec AQtime l'exécutable de test unitaire, je perds la possibilité de surveiller l'exécutable de test unitaire directement. Je voudrais obtenir FinalBuilder pour analyser les résultats des deux tâches. Quelqu'un sait-il comment obtenir l'accès aux résultats Dunit quand il est appelé à partir AQtime?

Était-ce utile?

La solution

Nous avons couru dans cette même voie, et nous ne courons pas le test DUnit de AQtime,

nous construisons et courons lieu nos Dunit tests utilisant FinalBuilder.

Nos tests unitaires utilisent XmlTestRunner, alors nous pouvons savoir si le test échoue ou pas très facilement à l'aide d'une requête XPath sur le fichier XML.

Mise à jour: Une récente mise à jour FinalBuilder 7.0 prend désormais en charge DUnit. Il est par ses propres XMLTestrunner.pas, qui est sous le Directoire FinalBuilder après l'installation. Ce coureur sort les résultats des tests dans le même format que NUnit. Il intègre ensuite vraiment bien dans FinalBuilder Server.

Autres conseils

Vous sorte de décrire la configuration que nous évoluons lentement.

  • les tests Dunit sont catégorisés comme des applications de la console en utilisant la TTextTestListener défini dans l'unité TextTestRunner.
  • serveur CI est un script cmd qui construit tous les projets et exécute tous les tests.
  • La sortie des tests sont redirigée vers un fichier.

Une solution pourrait être d'avoir le profil AQtime ces applications de la console tout en pouvoir tuyau les résultats dans un fichier qui peut être analysé par la suite?

Une autre solution peut-être à mettre en œuvre votre propre objet TestListener et avoir cet objet écrire les résultats d'essai à l'eventlog, directement à un fichier journal, une base de données ou partout où vous le souhaitez et cette reprise par FinalBuilder.

Au lieu d'avoir quelque chose comme ceci dans votre fichier de projet

  Application.Initialize;
  if System.IsConsole then TextTestRunner.RunRegisteredTests
  else GUITestRunner.RunRegisteredTests;

il deviendrait quelque chose comme ça

  Application.Initialize;
  if System.IsConsole then OurEventLogTestRunner.RunRegisteredTests
  else GUITestRunner.RunRegisteredTests;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top