2010-09-03 25 views
1

Dans notre environnement de développement, nous exécutons un service d'intégration continue (TeamCity) qui répond aux vérifications de code en exécutant des travaux de construction/test et en rapportant les résultats. Pendant que le travail est en cours, nous pouvons facilement voir combien de tests unitaires ont été exécutés jusqu'à présent, combien ont échoué, etc.Comment faire des résultats de test de rapport RFT en temps réel?

Mon équipe de tests automatisés fournit des tests d'interface utilisateur développés dans Rational Functional Tester. Extraire ces tests du système de contrôle de la source, les compiler et les exécuter à partir de la ligne de commande semblent être des exercices assez simples. Ce que je n'ai pas réussi à trouver est un moyen de signaler automatiquement les résultats des tests - il ne semble pas y avoir de hook pour les écouteurs, par exemple, ou pour personnaliser les messages qui sont émis. De mes recherches jusqu'à présent, j'en suis arrivé à la conclusion que ma seule option est (a) d'attendre la fin des tests, puis (b) d'analyser le rapport HTML généré par RFT.

Est-ce que quelqu'un a une meilleure réponse que cela?

Répondre

1

Voici la solution que je l'ai utilisé dans le but similaire:

  1. Ecrire une super classe d'aide qui écrasent la méthode de rappel OnTerminate, mettre en œuvre il vos logiques d'analyse du journal.
  2. Modifiez la super classe d'assistance de vos scripts de test en super classe d'aide create à l'étape 1. Utilisez RFT CLI pour appeler vos scripts dans votre code d'intégration continue.
0

expansion sur @ eric2323223, dans votre override OnTerminate, vous pouvez utiliser la fonctionnalité build script interaction de TeamCity pour avoir votre laissez-passer RFT/échec état roulé jusqu'à TeamCity. Vous avez juste besoin que ces messages spécifiques à TeamCity soient émis sur la ligne de commande, afin que TeamCity les récupère.

##teamcity[testStarted name='test1'] 
##teamcity[testFailed name='test1' message='failure message' details='message and stack trace'] 
##teamcity[testFinished name='test1'] 

##teamcity[testStarted name='test2'] 
##teamcity[testFailed type='comparisonFailure' name='test2' message='failure message' details='message and stack trace' expected='expected value' actual='actual value'] 
##teamcity[testFinished name='test2']