1 / 16

Testing Java EE Applications using Arquillian

Learn how to effectively test Java EE applications using Arquillian, a best-of-breed testing tool that takes advantage of the enabling features provided by Java EE. This talk primarily focuses on JUnit, but also covers TestNG and other testing methodologies. Explore testing possibilities for Servlet, JAX-RS, JSF, CDI/EJB, JPA, and JAX-RS/WebSocket. Discover the range of tools available and get involved in the vibrant Arquillian community.

owensa
Download Presentation

Testing Java EE Applications using Arquillian

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Testing Java EE Applicationsusing Arquillian Reza Rahman Java EE/GlassFish Evangelist Reza.Rahman@Oracle.com @reza_rahman

  2. Testing, J2EE and Java EE Testing not addressed well by J2EE Java EE helps enormously by providing a number of enabling features Arquillian takes full advantage of these features Not the only solution, but best-of-breed Developer (unit and integration) testing focus for this talk Arquillian can also help with performance, system, etc testing Arquillian excels at integration/regression testing I’ll primarily focus on JUnit, not TestNG TestNG also supported by Arquillian

  3. Java EE Testing Enablers

  4. Testing Servlet JAX-RS 2 client API comes in very handy! HttpUnit, HtmlUnit good tools as well Traditional problem is bootstrapping containers from tests

  5. Servlet Testing Demo https://github.com/m-reza-rahman/testing-javaee

  6. Testing JSF 2 JSF 2 project stages invaluable for debugging and testing Warp ideal for complete JSF testing Client and server-side tests Drone/Selenium, Graphene often sufficient

  7. JSF 2 Testing Demo https://github.com/m-reza-rahman/testing-javaee

  8. Testing CDI/EJB 3 CDI increases Java EE component model level testability by leaps and bounds Embedded containers, generic dependency injection, @Alternative, portable extensions, XML deployment descriptors, interceptors enablers Both mock object based unit testing as well as integration testing is possible Likely best to stick with integration testing using close to the real runtime environment

  9. Testing JPA Embedded container, CDI and Arquillian integration works well for JPA Consider using embedded databases like Java DB, Derby, HSQL Defining data sources with the application - @DataSourceDefinition You can use JPA 2.1 data loading, schema generation and DBUnit for better data consistency Tests can use transactions Take advantage of XML overrides

  10. CDI, EJB 3, JPA Testing Demo https://github.com/m-reza-rahman/testing-javaee

  11. Testing JAX-RS, WebSocket (and JAX-WS) You can use JAX-RS, WebSocket and JAX-WS client APIs with JUnit/Arquillian For more complex cases consider UI based testing tools (e.g. soapUI for REST and SOAP)

  12. JAX-RS, WebSocket Testing Demo https://github.com/m-reza-rahman/testing-javaee

  13. Arquillian Supported Containers

  14. Summary Robust, end-to-end testing a true reality with modern Java EE EJB 3, JPA 2, CDI, JSF 2, embedded containers, portable extensions, XML deployment descriptors, client APIs key enablers Range of new and existing tools available to fit your testing methodology, requirements Arquillian best-of-breed Java EE testing tool Rich set of features, vibrant community Get involved!

  15. Learning More Java EE Tutorials http://docs.oracle.com/javaee/7/tutorial/doc/home.htm Arquillian http://jboss.org/arquillian The Aquarium http://blogs.oracle.com/theaquarium

More Related