Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

2012-10-12 Testen mit Arquillian

1,858 views

Published on

  • Be the first to comment

  • Be the first to like this

2012-10-12 Testen mit Arquillian

  1. 1. [mit uns...] richtig testen Testen mit Arquillian Würzburg, den 12. Oktober 2012
  2. 2. Beschreibung der Veranstaltung: Integrationstest mit Arquillian "Arquillian is a revolutionary testing platform for enterprise Java." Mit diesen Slogan wirbt Red Hat für Arquillian. Die Schulung soll aufzeigen was hinter Arquillian steckt. Im ersten Teil der Schulung werden die Grundlagen von Arquillian vorgestellt. Im Anschluss werden diese mit Beispielen vertieft. Zielgruppe: Entwickler / Tester
  3. 3. Agenda 3 A Wo ist das Problem? B Was leistet Arquillian? C Grundlagen / Theorie D Coding
  4. 4. Wo ist das Problem?Benötigt es ein weiteres Testframework? jUnit existiert seit über 10 Jahren und leistet seinen Dienst! Mithilfe von Mocking Frameworks (bspw. PowerMock & Mockito) lässt sich Testcode komplett isolieren (Abhängigkeiten können „gemockt“ werden).
  5. 5. Wo ist das Problem?Benötigt es ein weiteres Testframework? Oberflächentests mit Selenium funktioniert! (Integrationstest) …Alles Super ODER?
  6. 6. Wo ist das Problem?
  7. 7. Wo ist das Problem? @ApplicationPath("/rest") public class RESTServiceApplication extends Application { } public class Resources { @ConversationScoped @ExtensionManaged @Produces @PersistenceUnit EntityManagerFactory producerField; @Produces public Logger produceLog(InjectionPoint injectionPoint) { return Logger.getLogger(injectionPoint.getMember() .getDeclaringClass().getName()); } }
  8. 8. Was leistet ?
  9. 9. “Arquillian is a revolutionary testing platform built on theJVM that substantially reduces the effort required to writeand execute Java middleware integration and functionaltests. No more mocks. No more container lifecycle anddeployment hassles. Just real tests!” [Quelle: http://jboss.org/arquillian.html]“So you can rule your code. Not the bugs.“ [Quelle: http://arquillian.org]
  10. 10. Arquillian brings test execution to the target runtime so you dont have tomanage the runtime from the test (or project build). To invert this control,Arquillian wraps a lifecycle around test execution that provides the followingservices:  Manages the lifecycle of one or more containers  Bundles the test case, dependent classes and resources as ShrinkWrap archives  Deploys the archives to the containers  Enriches the test case with dependency injection and other declarative services  Executes the tests inside (or against) the containers  Returns the results to the test runner for reportingArquillian runs with Java 1.5 and above, integrates seamlessly with familiartesting frameworks such as JUnit and TestNG and allows tests to belaunched using existing IDE, Ant and Maven test plugins. [Quelle: http://jboss.org/arquillian.html]
  11. 11. Was leistet Arquillian? 12 Vernünftige Unit-Tests von gemanagten Klassen Irreführende Mocks können entfallen Möglichkeit Code mit verschiedenen Containern zu testen Durch MavenDependencyResolver einfache Möglichkeit „komplette“ Applikation zu testen / nicht nur Klasse (Integrationtests) Durch die Erweiterung Drone besteht die Möglichkeit webbasierte Tests zu erstellen (Graphene, Selenium, Webdriver)
  12. 12. ArquillianGrundlagen/Theorie
  13. 13. Architektur
  14. 14. Live Demo… jetzt geht los!
  15. 15. Links 16 http://arquillian.org/ http://www.jboss.org/arquillian.html
  16. 16. Kontakt 18 nobisCum Matthias Reining [Senior Solutions Architect, Prokurist] Sedanstraße 23 97082 Würzburg, Germany [T] +49 (0) 931 / 7 96 67 – 0 [F] +49 (0) 931 / 7 96 67 – 29 [@] matthias.reining @ nobiscum.de [URL] www.nobiscum.de

×