2010-02-08 5 views
5

Dopo aver eseguito il test di idoneità utilizzando testrunner, viene visualizzato un file xml contenente tutti i risultati. Ora non riesco a capire come visualizzare quei risultati all'interno della GUI di hudson per un lavoro specifico.Visualizza report XML Fitnesse all'interno della GUI Hudson

Ho navigato sul Web e quello che ho trovato è un paio di persone che modificano il file xsd da CruiseControl.NET, ma nessuno lo sta effettivamente mostrando funzionante!

Se qualcuno potesse aiutarmi o indicarmi la giusta direzione, sarebbe molto apprezzato.

Grazie. Yohann

risposta

3

Trasformo l'output xml da xslt da fitnesse a formato junit e pubblica i risultati dei test. Purtroppo, non sono stato in grado di ottenere il risultato html di un errore visualizzato all'interno di hudson, tuttavia non è un problema reale poiché tutto ciò che voglio sapere è se i miei test di accettazione sono ok.

Di seguito è riportata una copia di xslt che uso.

<?xml version="1.0" encoding="ISO-8859-1"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:template match="/"> 
    <xsl:element name="testsuite"> 
    <xsl:attribute name="tests"> 
     <xsl:value-of select="sum(testResults/finalCounts/*)" /> 
    </xsl:attribute> 
    <xsl:attribute name="failures"> 
     <xsl:value-of select="testResults/finalCounts/wrong" /> 
    </xsl:attribute> 
    <xsl:attribute name="disabled"> 
     <xsl:value-of select="testResults/finalCounts/ignores" /> 
    </xsl:attribute> 
    <xsl:attribute name="errors"> 
     <xsl:value-of select="testResults/finalCounts/exceptions" /> 
    </xsl:attribute> 
    <xsl:attribute name="name">AcceptanceTests</xsl:attribute> 
    <xsl:for-each select="testResults/result"> 
    <xsl:element name="testcase"> 
     <xsl:attribute name="classname"> 
     <xsl:value-of select="/testResults/rootPath" /> 
     </xsl:attribute> 
     <xsl:attribute name="name"> 
     <xsl:value-of select="relativePageName" /> 
     </xsl:attribute> 
     <xsl:choose> 
     <xsl:when test="counts/exceptions > 0"> 
      <xsl:element name="error"> 
      <xsl:attribute name="message"> 
       <xsl:value-of select="counts/exceptions" /> 
       <xsl:text> exceptions thrown</xsl:text> 
       <xsl:if test="counts/wrong > 0"> 
       <xsl:text> and </xsl:text> 
       <xsl:value-of select="counts/wrong" /> 
       <xsl:text> assertions failed</xsl:text> 
       </xsl:if> 
      </xsl:attribute> 
      </xsl:element> 
     </xsl:when> 
     <xsl:when test="counts/wrong > 0"> 
      <xsl:element name="failure"> 
      <xsl:attribute name="message"> 
       <xsl:value-of select="counts/wrong" /> 
       <xsl:text> assertions failed</xsl:text> 
      </xsl:attribute> 
      </xsl:element> 
     </xsl:when> 
     </xsl:choose> 
    </xsl:element> 
    </xsl:for-each> 
    </xsl:element> 
</xsl:template> 
</xsl:stylesheet> 
+0

Come si arriva Hudson utilizzare questo XSLT? C'è un modulo da qualche parte o è necessario scrivere uno script? –

1

ci sono alcuni cambiamenti che vengono a FitNesse che supporteranno il ritorno di JUnit formattato risultati. Non sono sicuro della data esatta, ma quando lo fanno, la necessità di un'attività di trasformazione separata dovrebbe andare via.

Dovrebbe essere presto possibile eseguire il test in hudson con il nuovo argomento della riga di comando -c per eseguire il test e quindi eseguirlo una seconda volta con un argomento -c per richiedere gli ultimi risultati per il test in formato junit . Lo stesso dovrebbe valere per le suite.

Tornerò un aggiornamento quando è uscito il rilascio che ha funzionato quella funzionalità.

Sono tornato. L'approccio -c ha ancora del lavoro da fare, tuttavia c'è un nuovo Hudson Plugin che puoi installare direttamente da Hudson. Al momento non è la soluzione ideale per il mio team, ma sta lavorando per alcuni team.

Per ottenerlo:

  1. upate a 1.350 o superiore Hudson
  2. Clicca su Manage Hudson
  3. Selezionare Disponibile Plugin
  4. Cerca FitNesse sulla pagina
  5. Installare quel plugin
  6. Configuralo t rivolga a fitnesse.jar e FitNesseRoot.
2

Non so se è esattamente quello che stai cercando, ma se installi il Fitnesse plugin, puoi aggiungere un passo di generazione che restituisce xml.

Execute Fitnesse Build Script

E poi è possibile pubblicare i risultati dalla xml come azione di post-generazione.

Publish fitnesse results report (from xml)

+0

Non so del mittente, ma questo era esattamente quello che stavo cercando. –