2010-10-14 7 views
0

Je ne suis pas programmeur, alors s'il vous plaît, pardonnez si mon problème est assez facile à résoudre pour beaucoup d'entre vous (mais je pourrais encore le trouver confus).Ajout automatique d'une déclaration de stylesheet aux fichiers xml ci_reporter

Le problème que j'ai est avec ci_reporter, une gemme à utiliser avec Watir et Test/Unit.

Il sort les résultats de test d'un test Watir vers un fichier xml. Super jusqu'à présent. Malheureusement, je ne peux pas trouver un moyen pour que ci_reporter ajoute une déclaration de feuille de style xsl juste après la déclaration xml.

<?xml version="1.0" encoding="UTF-8"?> 
<testsuite time="6.796" assertions="1" name="TC_LoginTests" failures="0" tests="1" skipped="0" errors="0"> 
    <testcase time="6.796" assertions="1" name="test_loginValid"> 
    </testcase> 

Ce que je veux faire est la suivante:

<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?> 
<testsuite time="6.796" assertions="1" name="TC_LoginTests" failures="0" tests="1" skipped="0" errors="0"> 
<testcase time="6.796" assertions="1" name="test_loginValid"> 
</testcase> 

Je pensais que peut-être il y aurait un paramètre pour définir quelque part, mais je l'ai pas trouvé s'il y a un. Il sera fastidieux d'ajouter la déclaration de feuille de style manuellement à chaque fois.

Existe-t-il une solution simple à ce problème?

Répondre

0

Je ne pense pas que vous serez en mesure de réaliser ce que vous voulez sans pirater la source de ci_reporter. ci_reporter est conçu pour produire des fichiers XML au format JUnit et n'offre aucun moyen de le modifier.

Je laisserais la sortie XML telle quelle, puis j'utiliserais autre chose pour appliquer votre transformation xsl en tant qu'étape secondaire.

+0

Cela semble être la bonne façon de faire les choses, car nous allons utiliser Hudson , mais n'ont pas encore intégré Watir avec lui. L'autre approche que vous m'avez indiquée me semble encore être une bonne façon de faire les choses si vous n'utilisez pas encore un outil comme Hudson. – anonygoose

0

Il s'avère que c'est assez simple à faire en modifiant le fichier test_suite.rb dans la gem ci_reporter. Je ne sais pas à quel point c'est correct, mais il l'obtient pour faire ce dont j'ai besoin.

Dans la méthode to_xml, nous avons modifié la ligne suivante:

builder.instruct! 

à la place lire

builder.instruct! 
builder.instruct! 'xml-stylesheet', {:href=>'output.xsl', :type=>'text/xsl'} 
Questions connexes