SlideShare une entreprise Scribd logo
1  sur  17
Tester la persistance Java
           avec
      Arquillian

        @AlexisHassler


                             1
@AlexisHassler

Développeur, formateur Java
Indépendant
Contributeur occasionnel à Arquillian

                                        2
Qu'est qu'Arquillian ?
Comment fonctionne-t-il ?
Comment gérer les données de test ?
Comment profiter de l'extension
 Persistence ?

                                      3
Kesako ?

           4
Tests d'intégration

Tests de composants
  pas les classes isolées
pas l'application complète

                             5
Comment ça marche ?

                      6
Mettre les
tests dans le conteneur
           plutôt que
gérer le conteneur dans les tests


                                    7
Runner JUnit

                       Déploiement
                       du composant



Injection de dépendances



                    Méthode de test


                                      8
Et les données ?

                   9
Injection
@Resource(mappedName="jdbc/sample")
DataSource ds;

                                        @PersistenceContext
                                        EntityManager em;


                  @Resource
                  UserTransaction tx;




                                                              10
Persistence Extension

                        11
Extension Arquillian
Créée par Bartosz Majsak

    Inspiré d'Unitils
      et de DBUnit

                           12
Données en entrée
       @UsingDataSet("datasets/users.yml")


          Données en sortie
@ShouldMatchDataSet("datasets/expected-users.yml")



                                                     13
Transactions
@Transactional(TransactionMode.ROLLBACK)




                                           14
Conclusion




             15
Arquillian

http://arquillian.org

https://github.com/hasalex/
                arquillian-persistence-demo

                                              16
Merci
http://alexis-hassler.com
alexis.hassler@sewatech.fr

http://sewatech.fr

                             17

Contenu connexe

En vedette

Mevoyalacama 2
Mevoyalacama 2 Mevoyalacama 2
Mevoyalacama 2 manmenpino
 
UPblisher : notre catalogue d'ebooks en français, 3 formats sans DRM.
UPblisher : notre catalogue d'ebooks en français, 3 formats sans DRM. UPblisher : notre catalogue d'ebooks en français, 3 formats sans DRM.
UPblisher : notre catalogue d'ebooks en français, 3 formats sans DRM. UPblisher
 
Atelier services_publics (Andrézieux)
Atelier services_publics (Andrézieux)Atelier services_publics (Andrézieux)
Atelier services_publics (Andrézieux)CoRAIA
 
Slidemovidamadrid
SlidemovidamadridSlidemovidamadrid
Slidemovidamadridjfalewd
 
Cambioclimatologico
CambioclimatologicoCambioclimatologico
Cambioclimatologicoguest55e819
 
La presentació jornada espurna'14 si
La presentació jornada espurna'14 siLa presentació jornada espurna'14 si
La presentació jornada espurna'14 siCosme Garrell
 
Rendez-Vous des Technologies Propres - Demtroys
Rendez-Vous des Technologies Propres - DemtroysRendez-Vous des Technologies Propres - Demtroys
Rendez-Vous des Technologies Propres - DemtroysSherbrooke Innopole
 
Se lancer en affaires - Par où commencer?
Se lancer en affaires - Par où commencer?Se lancer en affaires - Par où commencer?
Se lancer en affaires - Par où commencer?Sherbrooke Innopole
 
Presentation Si
Presentation SiPresentation Si
Presentation Sibthuillier
 
Apadrinamiento lector 2014
Apadrinamiento lector 2014Apadrinamiento lector 2014
Apadrinamiento lector 2014manmenpino
 
Déjeuner du GATE - Recrutement à l'international > AIESEC
Déjeuner du GATE - Recrutement à l'international > AIESECDéjeuner du GATE - Recrutement à l'international > AIESEC
Déjeuner du GATE - Recrutement à l'international > AIESECSherbrooke Innopole
 
Amazon Yi[1][1]..
Amazon Yi[1][1]..Amazon Yi[1][1]..
Amazon Yi[1][1]..guest5ba354
 

En vedette (20)

Mevoyalacama 2
Mevoyalacama 2 Mevoyalacama 2
Mevoyalacama 2
 
Rosa larisa
Rosa larisaRosa larisa
Rosa larisa
 
UPblisher : notre catalogue d'ebooks en français, 3 formats sans DRM.
UPblisher : notre catalogue d'ebooks en français, 3 formats sans DRM. UPblisher : notre catalogue d'ebooks en français, 3 formats sans DRM.
UPblisher : notre catalogue d'ebooks en français, 3 formats sans DRM.
 
Marcos s
Marcos sMarcos s
Marcos s
 
Scrum@fujitsu
Scrum@fujitsuScrum@fujitsu
Scrum@fujitsu
 
Atelier services_publics (Andrézieux)
Atelier services_publics (Andrézieux)Atelier services_publics (Andrézieux)
Atelier services_publics (Andrézieux)
 
Relato
RelatoRelato
Relato
 
Seance oaweek2013-droits-auteurs
Seance oaweek2013-droits-auteursSeance oaweek2013-droits-auteurs
Seance oaweek2013-droits-auteurs
 
Slidemovidamadrid
SlidemovidamadridSlidemovidamadrid
Slidemovidamadrid
 
Cambioclimatologico
CambioclimatologicoCambioclimatologico
Cambioclimatologico
 
La presentació jornada espurna'14 si
La presentació jornada espurna'14 siLa presentació jornada espurna'14 si
La presentació jornada espurna'14 si
 
Rendez-Vous des Technologies Propres - Demtroys
Rendez-Vous des Technologies Propres - DemtroysRendez-Vous des Technologies Propres - Demtroys
Rendez-Vous des Technologies Propres - Demtroys
 
T. V 2.0
T. V 2.0T. V 2.0
T. V 2.0
 
Se lancer en affaires - Par où commencer?
Se lancer en affaires - Par où commencer?Se lancer en affaires - Par où commencer?
Se lancer en affaires - Par où commencer?
 
Presentation Si
Presentation SiPresentation Si
Presentation Si
 
Apadrinamiento lector 2014
Apadrinamiento lector 2014Apadrinamiento lector 2014
Apadrinamiento lector 2014
 
Diong business ohada
Diong business ohadaDiong business ohada
Diong business ohada
 
Déjeuner du GATE - Recrutement à l'international > AIESEC
Déjeuner du GATE - Recrutement à l'international > AIESECDéjeuner du GATE - Recrutement à l'international > AIESEC
Déjeuner du GATE - Recrutement à l'international > AIESEC
 
Amazon Yi[1][1]..
Amazon Yi[1][1]..Amazon Yi[1][1]..
Amazon Yi[1][1]..
 
La Vie
La VieLa Vie
La Vie
 

Similaire à Tester la persistance Java avec Arquillian

Java 9 modulo les modules devoxx fr 2017
Java 9 modulo les modules devoxx fr 2017Java 9 modulo les modules devoxx fr 2017
Java 9 modulo les modules devoxx fr 2017Jean-Michel Doudoux
 
PréSentation Qualoo Le Generateur De Code Java J2 Ee
PréSentation Qualoo   Le Generateur De Code Java J2 EePréSentation Qualoo   Le Generateur De Code Java J2 Ee
PréSentation Qualoo Le Generateur De Code Java J2 EeST informatique services
 
DevoxxFR 2013 - Arquillian
DevoxxFR 2013 - ArquillianDevoxxFR 2013 - Arquillian
DevoxxFR 2013 - ArquillianAlexis Hassler
 
Arquillian - YaJUG - nov. 2012
Arquillian - YaJUG - nov. 2012Arquillian - YaJUG - nov. 2012
Arquillian - YaJUG - nov. 2012Alexis Hassler
 
cours dev d'applications web moderne avec ReactJS
cours dev d'applications web moderne avec ReactJScours dev d'applications web moderne avec ReactJS
cours dev d'applications web moderne avec ReactJSaissamjadli
 
Arquillian - Ippevent 01/2012
Arquillian - Ippevent 01/2012Arquillian - Ippevent 01/2012
Arquillian - Ippevent 01/2012Alexis Hassler
 
JavaEE - Test & Deploy
JavaEE - Test & DeployJavaEE - Test & Deploy
JavaEE - Test & DeployAlexis Hassler
 
#5 Java EE5 Client Lourd et Smart Client
#5 Java EE5  Client Lourd  et Smart Client#5 Java EE5  Client Lourd  et Smart Client
#5 Java EE5 Client Lourd et Smart ClientGuillaume Sauthier
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications JavaAntoine Rey
 
Les concepts de la programmation fonctionnelle illustrés avec java 8
Les concepts de la programmation fonctionnelle illustrés avec java 8Les concepts de la programmation fonctionnelle illustrés avec java 8
Les concepts de la programmation fonctionnelle illustrés avec java 8Yannick Chartois
 
Tester unitairement une application java
Tester unitairement une application javaTester unitairement une application java
Tester unitairement une application javaAntoine Rey
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2Christophe Rochefolle
 
POO_Java_BasesLangage.pdf
POO_Java_BasesLangage.pdfPOO_Java_BasesLangage.pdf
POO_Java_BasesLangage.pdfLarbaSAWADOGO2
 
L'amélioration des tests unitaires par le refactoring
L'amélioration des tests unitaires par le refactoringL'amélioration des tests unitaires par le refactoring
L'amélioration des tests unitaires par le refactoringMSDEVMTL
 
L'amélioration des tests unitaires par le refactoring
L'amélioration des tests unitaires par le refactoringL'amélioration des tests unitaires par le refactoring
L'amélioration des tests unitaires par le refactoringPascal Laurin
 
Java dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasMicrosoft
 
Les tests comportementaux avec aspnet core
Les tests comportementaux avec aspnet coreLes tests comportementaux avec aspnet core
Les tests comportementaux avec aspnet coreArnaud Auroux
 

Similaire à Tester la persistance Java avec Arquillian (20)

Java 9 modulo les modules devoxx fr 2017
Java 9 modulo les modules devoxx fr 2017Java 9 modulo les modules devoxx fr 2017
Java 9 modulo les modules devoxx fr 2017
 
Nouveautés Java 9-10-11
Nouveautés Java 9-10-11Nouveautés Java 9-10-11
Nouveautés Java 9-10-11
 
PréSentation Qualoo Le Generateur De Code Java J2 Ee
PréSentation Qualoo   Le Generateur De Code Java J2 EePréSentation Qualoo   Le Generateur De Code Java J2 Ee
PréSentation Qualoo Le Generateur De Code Java J2 Ee
 
DevoxxFR 2013 - Arquillian
DevoxxFR 2013 - ArquillianDevoxxFR 2013 - Arquillian
DevoxxFR 2013 - Arquillian
 
Arquillian - YaJUG - nov. 2012
Arquillian - YaJUG - nov. 2012Arquillian - YaJUG - nov. 2012
Arquillian - YaJUG - nov. 2012
 
cours dev d'applications web moderne avec ReactJS
cours dev d'applications web moderne avec ReactJScours dev d'applications web moderne avec ReactJS
cours dev d'applications web moderne avec ReactJS
 
Arquillian - Ippevent 01/2012
Arquillian - Ippevent 01/2012Arquillian - Ippevent 01/2012
Arquillian - Ippevent 01/2012
 
JavaEE - Test & Deploy
JavaEE - Test & DeployJavaEE - Test & Deploy
JavaEE - Test & Deploy
 
#5 Java EE5 Client Lourd et Smart Client
#5 Java EE5  Client Lourd  et Smart Client#5 Java EE5  Client Lourd  et Smart Client
#5 Java EE5 Client Lourd et Smart Client
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications Java
 
Les concepts de la programmation fonctionnelle illustrés avec java 8
Les concepts de la programmation fonctionnelle illustrés avec java 8Les concepts de la programmation fonctionnelle illustrés avec java 8
Les concepts de la programmation fonctionnelle illustrés avec java 8
 
Tester unitairement une application java
Tester unitairement une application javaTester unitairement une application java
Tester unitairement une application java
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2
 
POO_Java_BasesLangage.pdf
POO_Java_BasesLangage.pdfPOO_Java_BasesLangage.pdf
POO_Java_BasesLangage.pdf
 
L'amélioration des tests unitaires par le refactoring
L'amélioration des tests unitaires par le refactoringL'amélioration des tests unitaires par le refactoring
L'amélioration des tests unitaires par le refactoring
 
L'amélioration des tests unitaires par le refactoring
L'amélioration des tests unitaires par le refactoringL'amélioration des tests unitaires par le refactoring
L'amélioration des tests unitaires par le refactoring
 
Java dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de Jonas
 
J Unit
J UnitJ Unit
J Unit
 
Les tests comportementaux avec aspnet core
Les tests comportementaux avec aspnet coreLes tests comportementaux avec aspnet core
Les tests comportementaux avec aspnet core
 
Cache
CacheCache
Cache
 

Plus de Alexis Hassler

DevoxxFR17 - Préparez-vous à la modularité selon Java 9
DevoxxFR17 - Préparez-vous à la modularité selon Java 9DevoxxFR17 - Préparez-vous à la modularité selon Java 9
DevoxxFR17 - Préparez-vous à la modularité selon Java 9Alexis Hassler
 
LausanneJUG 2017 - Jigsaw est prêt à tuer le classpath
LausanneJUG 2017 - Jigsaw est prêt à tuer le classpathLausanneJUG 2017 - Jigsaw est prêt à tuer le classpath
LausanneJUG 2017 - Jigsaw est prêt à tuer le classpathAlexis Hassler
 
DevFest Nantes 2016 - Jigsaw est prêt à tuer le classpath Java
DevFest Nantes 2016 - Jigsaw est prêt à tuer le classpath JavaDevFest Nantes 2016 - Jigsaw est prêt à tuer le classpath Java
DevFest Nantes 2016 - Jigsaw est prêt à tuer le classpath JavaAlexis Hassler
 
Soft-Shake 2016 : Jigsaw est prêt à tuer le classpath
Soft-Shake 2016 : Jigsaw  est prêt à tuer le classpathSoft-Shake 2016 : Jigsaw  est prêt à tuer le classpath
Soft-Shake 2016 : Jigsaw est prêt à tuer le classpathAlexis Hassler
 
LyonJUG : Comment Jigsaw est prêt à tuer le classpath
LyonJUG : Comment Jigsaw est prêt à tuer le classpath LyonJUG : Comment Jigsaw est prêt à tuer le classpath
LyonJUG : Comment Jigsaw est prêt à tuer le classpath Alexis Hassler
 
INSA Lyon - Java in da Cloud - 06/2016
INSA Lyon - Java in da Cloud - 06/2016INSA Lyon - Java in da Cloud - 06/2016
INSA Lyon - Java in da Cloud - 06/2016Alexis Hassler
 
LorraineJUG - Le classpath n'est pas mort
LorraineJUG - Le classpath n'est pas mortLorraineJUG - Le classpath n'est pas mort
LorraineJUG - Le classpath n'est pas mortAlexis Hassler
 
ElsassJUG - Le classpath n'est pas mort...
ElsassJUG - Le classpath n'est pas mort...ElsassJUG - Le classpath n'est pas mort...
ElsassJUG - Le classpath n'est pas mort...Alexis Hassler
 
INSA - Java in Ze Cloud - 2014
INSA - Java in Ze Cloud - 2014INSA - Java in Ze Cloud - 2014
INSA - Java in Ze Cloud - 2014Alexis Hassler
 
softshake 2014 - Java EE
softshake 2014 - Java EEsoftshake 2014 - Java EE
softshake 2014 - Java EEAlexis Hassler
 
INSA - Java in ze Cloud (2013)
INSA - Java in ze Cloud (2013)INSA - Java in ze Cloud (2013)
INSA - Java in ze Cloud (2013)Alexis Hassler
 
MarsJUG - Le classpath n'est pas mort, mais presque
MarsJUG - Le classpath n'est pas mort, mais presqueMarsJUG - Le classpath n'est pas mort, mais presque
MarsJUG - Le classpath n'est pas mort, mais presqueAlexis Hassler
 
MarsJUG - Une nouvelle vision des tests avec Arquillian
MarsJUG - Une nouvelle vision des tests avec ArquillianMarsJUG - Une nouvelle vision des tests avec Arquillian
MarsJUG - Une nouvelle vision des tests avec ArquillianAlexis Hassler
 
JUG Summer Camp - Une nouvelle vision des tests avec Arquillian
JUG Summer Camp - Une nouvelle vision des tests avec ArquillianJUG Summer Camp - Une nouvelle vision des tests avec Arquillian
JUG Summer Camp - Une nouvelle vision des tests avec ArquillianAlexis Hassler
 
DevoxxFR 2013 - Le classpath n'est pas mort, mais presque
DevoxxFR 2013 - Le classpath n'est pas mort, mais presqueDevoxxFR 2013 - Le classpath n'est pas mort, mais presque
DevoxxFR 2013 - Le classpath n'est pas mort, mais presqueAlexis Hassler
 
Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012Alexis Hassler
 
JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012Alexis Hassler
 
JBoss AS 7 : Déployer sur terre et dans les nuages
JBoss AS 7 : Déployer sur terre et dans les nuagesJBoss AS 7 : Déployer sur terre et dans les nuages
JBoss AS 7 : Déployer sur terre et dans les nuagesAlexis Hassler
 
Arquillian : Tester sur terre et dans les nuages
Arquillian : Tester sur terre et dans les nuagesArquillian : Tester sur terre et dans les nuages
Arquillian : Tester sur terre et dans les nuagesAlexis Hassler
 

Plus de Alexis Hassler (20)

DevoxxFR17 - Préparez-vous à la modularité selon Java 9
DevoxxFR17 - Préparez-vous à la modularité selon Java 9DevoxxFR17 - Préparez-vous à la modularité selon Java 9
DevoxxFR17 - Préparez-vous à la modularité selon Java 9
 
LausanneJUG 2017 - Jigsaw est prêt à tuer le classpath
LausanneJUG 2017 - Jigsaw est prêt à tuer le classpathLausanneJUG 2017 - Jigsaw est prêt à tuer le classpath
LausanneJUG 2017 - Jigsaw est prêt à tuer le classpath
 
DevFest Nantes 2016 - Jigsaw est prêt à tuer le classpath Java
DevFest Nantes 2016 - Jigsaw est prêt à tuer le classpath JavaDevFest Nantes 2016 - Jigsaw est prêt à tuer le classpath Java
DevFest Nantes 2016 - Jigsaw est prêt à tuer le classpath Java
 
Soft-Shake 2016 : Jigsaw est prêt à tuer le classpath
Soft-Shake 2016 : Jigsaw  est prêt à tuer le classpathSoft-Shake 2016 : Jigsaw  est prêt à tuer le classpath
Soft-Shake 2016 : Jigsaw est prêt à tuer le classpath
 
LyonJUG : Comment Jigsaw est prêt à tuer le classpath
LyonJUG : Comment Jigsaw est prêt à tuer le classpath LyonJUG : Comment Jigsaw est prêt à tuer le classpath
LyonJUG : Comment Jigsaw est prêt à tuer le classpath
 
INSA Lyon - Java in da Cloud - 06/2016
INSA Lyon - Java in da Cloud - 06/2016INSA Lyon - Java in da Cloud - 06/2016
INSA Lyon - Java in da Cloud - 06/2016
 
LorraineJUG - Le classpath n'est pas mort
LorraineJUG - Le classpath n'est pas mortLorraineJUG - Le classpath n'est pas mort
LorraineJUG - Le classpath n'est pas mort
 
LorraineJUG - WildFly
LorraineJUG - WildFlyLorraineJUG - WildFly
LorraineJUG - WildFly
 
ElsassJUG - Le classpath n'est pas mort...
ElsassJUG - Le classpath n'est pas mort...ElsassJUG - Le classpath n'est pas mort...
ElsassJUG - Le classpath n'est pas mort...
 
INSA - Java in Ze Cloud - 2014
INSA - Java in Ze Cloud - 2014INSA - Java in Ze Cloud - 2014
INSA - Java in Ze Cloud - 2014
 
softshake 2014 - Java EE
softshake 2014 - Java EEsoftshake 2014 - Java EE
softshake 2014 - Java EE
 
INSA - Java in ze Cloud (2013)
INSA - Java in ze Cloud (2013)INSA - Java in ze Cloud (2013)
INSA - Java in ze Cloud (2013)
 
MarsJUG - Le classpath n'est pas mort, mais presque
MarsJUG - Le classpath n'est pas mort, mais presqueMarsJUG - Le classpath n'est pas mort, mais presque
MarsJUG - Le classpath n'est pas mort, mais presque
 
MarsJUG - Une nouvelle vision des tests avec Arquillian
MarsJUG - Une nouvelle vision des tests avec ArquillianMarsJUG - Une nouvelle vision des tests avec Arquillian
MarsJUG - Une nouvelle vision des tests avec Arquillian
 
JUG Summer Camp - Une nouvelle vision des tests avec Arquillian
JUG Summer Camp - Une nouvelle vision des tests avec ArquillianJUG Summer Camp - Une nouvelle vision des tests avec Arquillian
JUG Summer Camp - Une nouvelle vision des tests avec Arquillian
 
DevoxxFR 2013 - Le classpath n'est pas mort, mais presque
DevoxxFR 2013 - Le classpath n'est pas mort, mais presqueDevoxxFR 2013 - Le classpath n'est pas mort, mais presque
DevoxxFR 2013 - Le classpath n'est pas mort, mais presque
 
Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012
 
JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012
 
JBoss AS 7 : Déployer sur terre et dans les nuages
JBoss AS 7 : Déployer sur terre et dans les nuagesJBoss AS 7 : Déployer sur terre et dans les nuages
JBoss AS 7 : Déployer sur terre et dans les nuages
 
Arquillian : Tester sur terre et dans les nuages
Arquillian : Tester sur terre et dans les nuagesArquillian : Tester sur terre et dans les nuages
Arquillian : Tester sur terre et dans les nuages
 

Tester la persistance Java avec Arquillian