Arquillian, un alien en Bretagne
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Arquillian, un alien en Bretagne

on

  • 1,069 views

Présentation au BreizhJUG. A voir aussi sur Parleys : http://www.parleys.com/#st=5&id=3315

Présentation au BreizhJUG. A voir aussi sur Parleys : http://www.parleys.com/#st=5&id=3315

Statistics

Views

Total Views
1,069
Views on SlideShare
1,059
Embed Views
10

Actions

Likes
0
Downloads
6
Comments
0

1 Embed 10

http://lanyrd.com 10

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Arquillian, un alien en Bretagne Presentation Transcript

  • 1. Un Alien en BretagneBreizhJUG14/05/2012 Alexis Hassler
  • 2. @AlexisHasslerDéveloppeur, formateur JavaIndépendantContributeur occasionnel à ArquillianCo-leader du
  • 3. Kesako ?
  • 4. Tests dintégration JavaEETests CDI / JavaEE 6 JBoss Harness
  • 5. Problèmes ?
  • 6. TestsUnitaire Intégration
  • 7. Test unitaire new mock
  • 8. Test unitaire mock mock mockmock ClassToBeTested
  • 9. Test dintégration JPA EJB EntityManager Other Bean JMSCDI QueueBean Sécurité Intercepteurs EjbToBeTested Sécurité Transaction Intercepteurs ...
  • 10. Container JPA EJB EntityManager Other Bean JMSCDI QueueBean Sécurité Intercepteurs EjbToBeTested Sécurité Transaction Intercepteurs ...
  • 11. Lifecycle Component ToBeTested JAX-RS EndpointTestCase
  • 12. LifecycleCompile Test Package Integration Test
  • 13. Solutions !
  • 14. Conteneur
  • 15. Conteneur Mode embarquéEJBContainer.createEJBContainer()Context.lookup(...)
  • 16. Conteneur JMS JAX-RS Transaction EJBServlet CDI JPA JSF Bean Validation
  • 17. Aucune référence augérer le conteneur dans les tests conteneur dans les tests
  • 18. Runner JUnit Méthode  de test
  • 19. Conteneur DeployableContainerArquillian Conteneur
  • 20. Conteneur Websphere JBoss ASWeblogic GlassfishTomEE Resin Weld OpenWebBeans Jetty Tomcat OpenEJB
  • 21. Mettre lestests dans le conteneur gérer le conteneur dans les tests plutôt que gérer le conteneur dans les tests
  • 22. ConteneurRemote Managed Embedded
  • 23. Runner JUnit Injection de dépendances Méthode de test
  • 24. Tester les composants pas les classes isolées pas lapplication complète
  • 25. addAsManifestResource
  • 26. Runner JUnit Déploiement  du composant Injection de dépendances Méthode de test
  • 27. EJB, CDI, EJB+CDI / Glassfish Embedded EJB+CDI / JBoss Managed
  • 28. @RunWith(Arquillian.class)@Deployment@EJB, @Inject, @Resource@Test
  • 29. Conteneur embarquéDémarrage du conteneur (in-process) Déploiement de larchive Exécution locale du test Retrait de larchive Arrêt du conteneur
  • 30. Conteneur géréDémarrage du conteneur (out-process) Déploiement de larchive Déploiement du service Arquillian Exécution du test dans le conteneur Retrait de larchive Arrêt du conteneur
  • 31. Conteneur distant Conteneurpréalablement démarré Déploiement de larchive Déploiement du service Arquillian Exécution du test dans le conteneur Retrait de larchive
  • 32. Comme client
  • 33. As ClientWeb, JAX-RS, JAX-WS,RMI, EJB remote,... Web Archive JUnitArquillianTest case
  • 34. As Client@ArquillianResource(MyServlet.class) URL servletURL ;           (testable=false)@Deploymentpublic static Archive createDeployment() {    ... }      @RunAsClient@Testprivate void shouldDoX() {    ... }
  • 35. As ClientTest fonctionnel– Selenium– HtmlUnit– HttpUnit– ...
  • 36. ✔ JAX-RS
  • 37. Avec des donnés
  • 38. Injection@Resource(mappedName="jdbc/sample")DataSource ds; @PersistenceContext EntityManager em; @Resource UserTransaction tx;
  • 39. ✔ @Before
  • 40. Extensions Performance PersistenceSelenium BytemanJBehave Jacoco JSFUnit JUnit TestNG Spock
  • 41. Persistence Extension@Transactional(TransactionMode.ROLLBACK)public class MyBeanTest
  • 42. Persistence Extension Initialisation@UsingDataSet("users.yml") Vérification@ShouldMatchDataSet("expected-users.yml")
  • 43. ✔ @APE
  • 44. Dans Ton Cloud
  • 45. Dans Ton IaaS WebsphereWeblogic JBoss AS Resin GlassfishTomEE Weld Jetty OpenWebBeans Tomcat OpenEJB
  • 46. Dans Ton PaaS WebsphereWeblogic JBoss AS Cloudbees Resin OpenShift GlassfishTomEE Weld Jetty OpenWebBeans Tomcat OpenEJB
  • 47. ✔ Cloudbees
  • 48. Conclusion
  • 49. ArquillianTest dintégrationIn-container / As-clientMulti-conteneursExtensible
  • 50. Référenceshttp://arquillian.orghttp://github.com/hasalex/arquillian-demohttp://slideshare.com/sewatech
  • 51. @AlexisHasslerhttp://alexis-hassler.comalexis.hassler@sewatech.frhttp://sewatech.fr
  • 52. ?