Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Automatisiertes Testen von Webservices mit JUnit

Empfohlene Antworten

Moin,

ich bin noch recht neu im Thema SOA.

Nun möchte ich gern herausbekommen, welche Lösungen es für mein Problem gibt.

Ich implementiere eine Webservice-Schnittstelle. natürlich könnte ich mit soapUI testen, doch das Testing soll beim Maven-Build durch einen Hudson angestoßen und überwacht werden, daher brauche ich automatisierte Tests, möglichst mit JUnit.

Bisher funktionierende Testmethode habe ich openejb aber ich kann mir nicht vorstellen, dass dies der Weisheit letzter Schluss sein soll.

Vielleicht habt ihr ja noch ein paar Ideen =)

Gruß,

Uschi

Die Frage ist ob du wirklich den SOAP Request und Response via JUnit simulieren willst oder ob es dir reicht ohne SOAP deine JUnit Tests durchzuführen. Wenn du für deine JUnit Test keine Daten aus dem SOAP Header brauchst. Kannst du in deinen Test direkt eine Instanz der Webservice Klasse erzeugen ohne das du den Service via SOAP aufrufst.

Wenn du aber Daten aus dem SOAP Header brauchst dann musst du entweder über deinen Client eine Nachricht an deinen Service senden.

Du erzeugst in deiner Testklasse dann eine Instanz deines Client's und gibst ihm den richtigen Endpoint mit.

Es gibt auch die Möglichkeit den SOAP Request/Response in einer Datei zu speichern und dann in den Test via HTTP an deinen Service zu senden. Zusätzlich gibt es auch noch XMLUnit die bieten eine bessere XML Unterstützung an als JUnit alleine.

Das bedeutet aber das du deine Tests in die integartion-test build Phase von maven legen musst. Denn du musst ja deinen Service vorher erst noch starten und das geht erst nachdem du die package Phase abgeschlossen hast.

  • 3 Wochen später...

wir sind nu bei openejb geblieben und openejb bietet n container für die ejb's und webservices an.

aber gott wie nervig die ganzen workarounds sind die man bei openejb braucht. da funktioniert rein garnix einfach so. wär ja auch zu schön.

allein schon, dass man keine javax javaee-api nutzen kann sondern projektweit nur noch die mitgelieferte apache javaee-api in version 5.0-2 funktioniert. :upps

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.