Zur Info: 

      • Der HealthReport hängt an der an der ResultAction --> eine eigene Methode, die die ResultAction zurück gibt. 
      • Tests in IssuesRecoderITest hinzufügen 

       

      Was soll im Integrationstest getestet werden

      1. Über die API HealthThreshold und HealthPriorities geeignet setzten (Grenzen dabei besonders betrachten) und erwartetes Icon und Description herstellen 

       

       

       

       

          [JENKINS-50092] Integration Test for HealthReport

          Ulli Hafner created issue -
          Ulli Hafner made changes -
          Epic Link New: JENKINS-50065 [ 189073 ]
          Ulli Hafner made changes -
          Rank New: Ranked higher
          Ulli Hafner made changes -
          Rank New: Ranked higher
          Alexandra Wenzel made changes -
          Assignee Original: Ulli Hafner [ drulli ] New: Alexandra Wenzel [ loelala ]
          Alexandra Wenzel made changes -
          Description New: {{Zur Info: }}
           * Der HealthReport hängt an der an der ResultAction --> eine eigene Methode, die die ResultAction zurück gibt. 
           * Tests in IssuesRecoderITest hinzufügen 

           
          h4. Was soll im Integrationstest getestet werden
           # Über die API HealthThreshold und HealthPriorities geeignet setzten (Grenzen dabei besonders betrachten) und erwartetes Icon und Description herstellen 

           

           
          Alexandra Wenzel made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]
          Alexandra Wenzel made changes -
          Description Original: {{Zur Info: }}
           * Der HealthReport hängt an der an der ResultAction --> eine eigene Methode, die die ResultAction zurück gibt. 
           * Tests in IssuesRecoderITest hinzufügen 

           
          h4. Was soll im Integrationstest getestet werden
           # Über die API HealthThreshold und HealthPriorities geeignet setzten (Grenzen dabei besonders betrachten) und erwartetes Icon und Description herstellen 

           

           
          New: {{Zur Info: }}
           * Der HealthReport hängt an der an der ResultAction --> eine eigene Methode, die die ResultAction zurück gibt. 
           * Tests in IssuesRecoderITest hinzufügen 

           
          h4. Was soll im Integrationstest getestet werden
           # Über die API HealthThreshold und HealthPriorities geeignet setzten (Grenzen dabei besonders betrachten) und erwartetes Icon und Description herstellen 

          h3.  

           

           

           

          Was habe ich bis jetzt getestet: 

          1. Health === Unhealth --> empty HealthReport (EqualBoundaries)
          2. Health > Unhelath --> empty HealthReport (BoundaryMismatch)
          3. Für jede Art von Icon wurde ein Test geschrieben (insgesamt 5 verschiedene Fälle) 

          Dabei wurde die Priotität der Issues erst mal ignoriert, da nicht genau klar ist welche Issues welche Prorität haben. 

          Zudem werden bis jetzt nur einzele Builds auf ihren HealthReport getestet, soll auch ein aggregierter Test vohranden sein? Indem mehrere Builds hintereinander unterschieldiche Heath-Ergebnisse liefern um dann das aggregierte HealthReport-Ergebnis zu überprüfen? 

          Alexandra Wenzel added a comment - Was habe ich bis jetzt getestet:  Health === Unhealth --> empty HealthReport (EqualBoundaries) Health > Unhelath --> empty HealthReport (BoundaryMismatch) Für jede Art von Icon wurde ein Test geschrieben (insgesamt 5 verschiedene Fälle)  Dabei wurde die Priotität der Issues erst mal ignoriert, da nicht genau klar ist welche Issues welche Prorität haben.  Zudem werden bis jetzt nur einzele Builds auf ihren HealthReport getestet, soll auch ein aggregierter Test vohranden sein? Indem mehrere Builds hintereinander unterschieldiche Heath-Ergebnisse liefern um dann das aggregierte HealthReport-Ergebnis zu überprüfen? 

          Ulli Hafner added a comment - - edited

          Aggregierte Builds sind nicht erforderlich: diese Funktionalität kommt von einer Funktionalität außerhalb meiner Plugins.

          Die drei Varianten der Prioritäten wäre noch schön (jeweils ein Test). Welches Tool/Parser nutzen Sie in den Tests? Für Checkstyle kann man die drei Prioritäten folgendermaßen setzen:

          <?xml version="1.0" encoding="UTF-8"?>
          <checkstyle version="4.1">
          <file name="X:\Build\Results\jobs\Maven\workspace\tasks\src\main\java\hudson\plugins\tasks\util\model\package.html">
          <error line="0" severity="error" message="Fehlende Package-Dokumentation." source="com.puppycrawl.tools.checkstyle.checks.javadoc.PackageHtmlCheck"/>
          </file>
          <file name="X:\Build\Results\jobs\Maven\workspace\tasks\src\main\java\hudson\plugins\tasks\parser\CsharpNamespaceDetector.java">
          </file>
          <file name="X:\Build\Results\jobs\Maven\workspace\tasks\src\main\java\hudson\plugins\tasks\parser\CsharpNamespaceDetector.java">
          <error line="17" column="5" severity="error" message="Die Methode &apos;accepts&apos; ist nicht für Vererbung entworfen - muss abstract, final oder leer sein." source="com.puppycrawl.tools.checkstyle.checks.design.DesignForExtensionCheck"/>
          <error line="42" severity="error" message="Zeile länger als 80 Zeichen" source="com.puppycrawl.tools.checkstyle.checks.sizes.LineLengthCheck"/>
          <error line="22" column="5" severity="error" message="Die Methode &apos;detectPackageName&apos; ist nicht fr Vererbung entworfen - muss abstract, final oder leer sein." source="com.puppycrawl.tools.checkstyle.checks.design.DesignForExtensionCheck"/>
          <error line="29" severity="error" message="Zeile länger als 80 Zeichen" source="com.puppycrawl.tools.checkstyle.checks.sizes.LineLengthCheck"/>
          <error line="30" column="21" severity="error" message="&apos;}&apos; sollte in derselben Zeile stehen." source="com.puppycrawl.tools.checkstyle.checks.blocks.RightCurlyCheck"/>
          <error line="37" column="9" severity="error" message="&apos;}&apos; sollte in derselben Zeile stehen." source="com.puppycrawl.tools.checkstyle.checks.blocks.RightCurlyCheck"/>
          </file>
          </checkstyle>
          

          Dabei wird zugeordnet:

          • severity="error" : Hohe Priorität
          • severity="warning" : Normale Priorität
          • severity="info" : Niedrige Priorität

          Diese Datei können Sie ja als Basis nutzen und entsprechend anpassen.

          Ulli Hafner added a comment - - edited Aggregierte Builds sind nicht erforderlich: diese Funktionalität kommt von einer Funktionalität außerhalb meiner Plugins. Die drei Varianten der Prioritäten wäre noch schön (jeweils ein Test). Welches Tool/Parser nutzen Sie in den Tests? Für Checkstyle kann man die drei Prioritäten folgendermaßen setzen: <?xml version= "1.0" encoding= "UTF-8" ?> <checkstyle version= "4.1" > <file name= "X:\Build\Results\jobs\Maven\workspace\tasks\src\main\java\hudson\plugins\tasks\util\model\ package .html" > <error line= "0" severity= "error" message= "Fehlende Package-Dokumentation." source= "com.puppycrawl.tools.checkstyle.checks.javadoc.PackageHtmlCheck" /> </file> <file name= "X:\Build\Results\jobs\Maven\workspace\tasks\src\main\java\hudson\plugins\tasks\parser\CsharpNamespaceDetector.java" > </file> <file name= "X:\Build\Results\jobs\Maven\workspace\tasks\src\main\java\hudson\plugins\tasks\parser\CsharpNamespaceDetector.java" > <error line= "17" column= "5" severity= "error" message= "Die Methode &apos;accepts&apos; ist nicht für Vererbung entworfen - muss abstract , final oder leer sein." source= "com.puppycrawl.tools.checkstyle.checks.design.DesignForExtensionCheck" /> <error line= "42" severity= "error" message= "Zeile länger als 80 Zeichen" source= "com.puppycrawl.tools.checkstyle.checks.sizes.LineLengthCheck" /> <error line= "22" column= "5" severity= "error" message= "Die Methode &apos;detectPackageName&apos; ist nicht fr Vererbung entworfen - muss abstract , final oder leer sein." source= "com.puppycrawl.tools.checkstyle.checks.design.DesignForExtensionCheck" /> <error line= "29" severity= "error" message= "Zeile länger als 80 Zeichen" source= "com.puppycrawl.tools.checkstyle.checks.sizes.LineLengthCheck" /> <error line= "30" column= "21" severity= "error" message= "&apos;}&apos; sollte in derselben Zeile stehen." source= "com.puppycrawl.tools.checkstyle.checks.blocks.RightCurlyCheck" /> <error line= "37" column= "9" severity= "error" message= "&apos;}&apos; sollte in derselben Zeile stehen." source= "com.puppycrawl.tools.checkstyle.checks.blocks.RightCurlyCheck" /> </file> </checkstyle> Dabei wird zugeordnet: severity="error" : Hohe Priorität severity="warning" : Normale Priorität severity="info" : Niedrige Priorität Diese Datei können Sie ja als Basis nutzen und entsprechend anpassen.

            loelala Alexandra Wenzel
            drulli Ulli Hafner
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: