[JENKINS-50081] Integration Test for JobAction

        Ich bin leider mit dem Testen bisher noch nicht sehr weit gekommen.

         

        Aktuell erhalte ich die JobAction und könnte die verschiedenen Methoden testen, allerdings ist es mir bisher nicht gelungen, auf eine Instanz des StaplerRequests zuzugreifen um ihm der JobAction zu übergeben.

        Ist es möglich einen Request auszulesen oder muss dieser selbst erstellt werden?

        Nikolai Wohlgemuth added a comment - Ich bin leider mit dem Testen bisher noch nicht sehr weit gekommen.   Aktuell erhalte ich die JobAction und könnte die verschiedenen Methoden testen, allerdings ist es mir bisher nicht gelungen, auf eine Instanz des StaplerRequests zuzugreifen um ihm der JobAction zu übergeben. Ist es möglich einen Request auszulesen oder muss dieser selbst erstellt werden?

        Ulli Hafner added a comment -

        Den brauchen Sie gar nicht. Alle Methoden mit StaplerRequest werden über das UI aufgerufen. Testen Sie erst mal die Methoden ohne. Die restlichen Methoden können Sie dann in einem zweiten Schritt testen, indem Sie eine URL aufrufen.

        Ulli Hafner added a comment - Den brauchen Sie gar nicht. Alle Methoden mit StaplerRequest werden über das UI aufgerufen. Testen Sie erst mal die Methoden ohne. Die restlichen Methoden können Sie dann in einem zweiten Schritt testen, indem Sie eine URL aufrufen.

        Die JobAction hat leider nur sehr wenige Methoden, welche komplett unabhängig von einem Request ausgeführt werden können. Wie ist es möglich eine URL aufzurufen aus meinen Tests?

        Nikolai Wohlgemuth added a comment - Die JobAction hat leider nur sehr wenige Methoden, welche komplett unabhängig von einem Request ausgeführt werden können. Wie ist es möglich eine URL aufzurufen aus meinen Tests?

        Ulli Hafner added a comment - https://github.com/jenkinsci/warnings-plugin/blob/hm-edu-testing/src/test/java/io/jenkins/plugins/analysis/warnings/IssuesRecorderITest.java#L74

        Für den StaplerRequest muss ich mit Hilfe des WebClient eine HtmlPage anfordern. Leider bekomme ich während des Vorgangs folgenden Fehler:

        com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException: 500 Server Error for http://localhost:63991/jenkins/job/test0/1/

         

        Kann es sein, dass meine Url falsch ist und wie wähle ich für meine Intention (eine HtmlPage erhalten um an eine StaplerRequest-Instanz zu gelangen) die richtige Extension der Url aus?

        Nikolai Wohlgemuth added a comment - Für den StaplerRequest muss ich mit Hilfe des WebClient eine HtmlPage anfordern. Leider bekomme ich während des Vorgangs folgenden Fehler: com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException: 500 Server Error for http://localhost:63991/jenkins/job/test0/1/   Kann es sein, dass meine Url falsch ist und wie wähle ich für meine Intention (eine HtmlPage erhalten um an eine StaplerRequest-Instanz zu gelangen) die richtige Extension der Url aus?

        Ulli Hafner added a comment -

        Ohne Source Code und Exception Trace kann ich schwer helfen...

        Aber insgesamt klingt mir Ihre Beschreibung immer noch sehr daran, dass Sie auf dem Holzweg sind. Soweit ich die Nachfragen deute, wollen Sie einen Unit Test schreiben und Methoden an der Job Action aufrufen. Sie sollen aber einen Integrationstest schreiben. D.h. Sie konfigurieren und starten einen Job der als Ergebnis eine Job Action im Jenkins registriert. Anhand dieser Action zeigt sich z.B. der Trend bzw. das Sidepanel Link. Sie können das Meiste über die einfachen Getter prüfen. Die Trendgraph Methoden brauchen Sie nicht zu testen. Die werden ja genau über das Vorhandensein des Trendgraphen geprüft.

        Ulli Hafner added a comment - Ohne Source Code und Exception Trace kann ich schwer helfen... Aber insgesamt klingt mir Ihre Beschreibung immer noch sehr daran, dass Sie auf dem Holzweg sind. Soweit ich die Nachfragen deute, wollen Sie einen Unit Test schreiben und Methoden an der Job Action aufrufen. Sie sollen aber einen Integrationstest schreiben. D.h. Sie konfigurieren und starten einen Job der als Ergebnis eine Job Action im Jenkins registriert. Anhand dieser Action zeigt sich z.B. der Trend bzw. das Sidepanel Link. Sie können das Meiste über die einfachen Getter prüfen. Die Trendgraph Methoden brauchen Sie nicht zu testen. Die werden ja genau über das Vorhandensein des Trendgraphen geprüft.

          nikolaiwohlgemuth Nikolai Wohlgemuth
          drulli Ulli Hafner
          Votes:
          0 Vote for this issue
          Watchers:
          2 Start watching this issue

            Created:
            Updated:
            Resolved: