SlideShare une entreprise Scribd logo
Une boîte à outils pour les tests
sous Java 8
 https://github.com/aro-tech
 http://thegreenbar.wordpress.com/
Objectifs
● Simplifier le déploiement des librairies de test
unitaire
● Apporter les avantages des mixins
(polymorphisme, élimination d'import static)
● Ajouter des améliorations aux API's de base
pour simplifier l'écriture des tests
Le tout-en-un
● https://github.com/aro-tech/tdd-mixins-junit4
●
●
● Contient des “mixins” pour Mockito (+ des
Matcher supplémentaires), AssertJ et JUnit 4
Sans JUnit 4
● https://github.com/aro-tech/tdd-mixins-core
● Si on veut, par exemple, utiliser TestNG ou une
version préliminaire de JUnit 5
Extended Mockito ?
● https://github.com/aro-tech/extended-mockito
● Mixin permet de “hériter” les appels de Mockito
● Des “Matcher” supplémentaires
– Match avec des fragments de texte, pour String ou
toString()
– Match avec Predicate (λ sans transtypage)
Des mixins sur mesure pour
AssertJ?
● Démonstration à
https://github.com/aro-tech/template-example
● Auto-génération des assertion pour vos propres
JavaBeans.
● Navigation fluide grace à un bricolage des outils
de base d'AssertJ
D'autres mixins pour tests
● Non-inclus dans les tdd-mixins-* pour limiter les
dépendances de base.
● Code source généré disponible à:
https://github.com/aro-tech/interface-it/
tree/master/examples
● Mixins pour Jsoup, AssertJGuava, AssertJ-DB
● Pour d'autres, utilisez
https://github.com/aro-tech/interface-it pour générer les
mixins.
Futur
● Les projets extended-mockito et tdd-mixins-*
vont suivre les montées de version de Mockito
(actuellement 2.0.52-beta) et AssertJ
(actuellement 3.4.1) grace à interface-it et ant
(qui permettent l'auto-génération des mixins, la
mise à jour des pom et README, etc.).
● tdd-mixins-junit5 ?

Contenu connexe

En vedette

Sp kapp storyboard_front_v.2.0_part
Sp kapp storyboard_front_v.2.0_partSp kapp storyboard_front_v.2.0_part
Sp kapp storyboard_front_v.2.0_part
Seon Young Cho
 
ResumeofKennethThompson09242015(LOCAL)
ResumeofKennethThompson09242015(LOCAL)ResumeofKennethThompson09242015(LOCAL)
ResumeofKennethThompson09242015(LOCAL)
Kenneth Thompson
 
Resume
ResumeResume
Launch Your Startup Like a Boss
Launch Your Startup Like a BossLaunch Your Startup Like a Boss
Launch Your Startup Like a Boss
Tallwave
 
ChampagneSWFWMD_WBModel
ChampagneSWFWMD_WBModelChampagneSWFWMD_WBModel
ChampagneSWFWMD_WBModel
Frances Bockhorst
 
Final sales document
Final sales documentFinal sales document
Final sales document
Deanna Nanni
 
Sentits i raó, presocràtics5
Sentits i raó, presocràtics5Sentits i raó, presocràtics5
Sentits i raó, presocràtics5
Manuel Belda
 
Els debats fonamentals presocràtics3
Els debats fonamentals presocràtics3Els debats fonamentals presocràtics3
Els debats fonamentals presocràtics3
Manuel Belda
 
Presentacion tlc bogota ingles
Presentacion tlc bogota ingles Presentacion tlc bogota ingles
Presentacion tlc bogota ingles
ComunicacionesPDB
 
CORE80 EPS 33 - Picasso
CORE80 EPS 33 - Picasso CORE80 EPS 33 - Picasso
CORE80 EPS 33 - Picasso
A Victor Vargas
 
BlackBerry Enterprise of Things presentation - Gartner IT Expo
BlackBerry Enterprise of Things presentation - Gartner IT ExpoBlackBerry Enterprise of Things presentation - Gartner IT Expo
BlackBerry Enterprise of Things presentation - Gartner IT Expo
BlackBerry
 
Is it Time for a Rebrand?
Is it Time for a Rebrand?Is it Time for a Rebrand?
Is it Time for a Rebrand?
Tallwave
 
The App Economy - Jan Willem Lammers VMware
The App Economy - Jan Willem Lammers VMwareThe App Economy - Jan Willem Lammers VMware
The App Economy - Jan Willem Lammers VMware
IT Talent College
 
Get Value from Your Data
Get Value from Your DataGet Value from Your Data
Get Value from Your Data
Danilo Poccia
 
Astigmatism correction
Astigmatism correctionAstigmatism correction
Astigmatism correction
Farhana Islam
 
Presentatie kpn jasper snijder - lo ra alliance english pdf
Presentatie kpn   jasper snijder - lo ra alliance english pdfPresentatie kpn   jasper snijder - lo ra alliance english pdf
Presentatie kpn jasper snijder - lo ra alliance english pdf
KPN IoT
 
Microsoft Project Online for Project Managers
Microsoft Project Online for Project ManagersMicrosoft Project Online for Project Managers
Microsoft Project Online for Project Managers
Leon Gallegos
 

En vedette (17)

Sp kapp storyboard_front_v.2.0_part
Sp kapp storyboard_front_v.2.0_partSp kapp storyboard_front_v.2.0_part
Sp kapp storyboard_front_v.2.0_part
 
ResumeofKennethThompson09242015(LOCAL)
ResumeofKennethThompson09242015(LOCAL)ResumeofKennethThompson09242015(LOCAL)
ResumeofKennethThompson09242015(LOCAL)
 
Resume
ResumeResume
Resume
 
Launch Your Startup Like a Boss
Launch Your Startup Like a BossLaunch Your Startup Like a Boss
Launch Your Startup Like a Boss
 
ChampagneSWFWMD_WBModel
ChampagneSWFWMD_WBModelChampagneSWFWMD_WBModel
ChampagneSWFWMD_WBModel
 
Final sales document
Final sales documentFinal sales document
Final sales document
 
Sentits i raó, presocràtics5
Sentits i raó, presocràtics5Sentits i raó, presocràtics5
Sentits i raó, presocràtics5
 
Els debats fonamentals presocràtics3
Els debats fonamentals presocràtics3Els debats fonamentals presocràtics3
Els debats fonamentals presocràtics3
 
Presentacion tlc bogota ingles
Presentacion tlc bogota ingles Presentacion tlc bogota ingles
Presentacion tlc bogota ingles
 
CORE80 EPS 33 - Picasso
CORE80 EPS 33 - Picasso CORE80 EPS 33 - Picasso
CORE80 EPS 33 - Picasso
 
BlackBerry Enterprise of Things presentation - Gartner IT Expo
BlackBerry Enterprise of Things presentation - Gartner IT ExpoBlackBerry Enterprise of Things presentation - Gartner IT Expo
BlackBerry Enterprise of Things presentation - Gartner IT Expo
 
Is it Time for a Rebrand?
Is it Time for a Rebrand?Is it Time for a Rebrand?
Is it Time for a Rebrand?
 
The App Economy - Jan Willem Lammers VMware
The App Economy - Jan Willem Lammers VMwareThe App Economy - Jan Willem Lammers VMware
The App Economy - Jan Willem Lammers VMware
 
Get Value from Your Data
Get Value from Your DataGet Value from Your Data
Get Value from Your Data
 
Astigmatism correction
Astigmatism correctionAstigmatism correction
Astigmatism correction
 
Presentatie kpn jasper snijder - lo ra alliance english pdf
Presentatie kpn   jasper snijder - lo ra alliance english pdfPresentatie kpn   jasper snijder - lo ra alliance english pdf
Presentatie kpn jasper snijder - lo ra alliance english pdf
 
Microsoft Project Online for Project Managers
Microsoft Project Online for Project ManagersMicrosoft Project Online for Project Managers
Microsoft Project Online for Project Managers
 

Similaire à Une boîte à outils pour les tests sous Java 8

Paris Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascriptParis Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascript
Michael Akbaraly
 
Paris Web 2015 - Atelier désendettement Javascript legacy
Paris Web 2015 - Atelier désendettement Javascript legacyParis Web 2015 - Atelier désendettement Javascript legacy
Paris Web 2015 - Atelier désendettement Javascript legacy
François Petitit
 
Tester unitairement une application java
Tester unitairement une application javaTester unitairement une application java
Tester unitairement une application java
Antoine Rey
 
Meetup Python Nantes - les tests en python
Meetup Python Nantes - les tests en pythonMeetup Python Nantes - les tests en python
Meetup Python Nantes - les tests en python
Arthur Lutz
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipeline
Nicolas wallerand
 
testUnitaire (1).pptx
testUnitaire (1).pptxtestUnitaire (1).pptx
testUnitaire (1).pptx
ManalAg
 
Bbl sur les tests
Bbl sur les testsBbl sur les tests
Bbl sur les tests
Idriss Neumann
 
BBL - TDD pour les DevOps - Puppet
BBL - TDD pour les DevOps - PuppetBBL - TDD pour les DevOps - Puppet
BBL - TDD pour les DevOps - Puppet
Olivier BAZOUD
 
20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation Maven20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation Maven
Arnaud Héritier
 
20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven
Arnaud Héritier
 
20081008 - Tours Jug - Apache Maven
20081008  - Tours Jug - Apache Maven20081008  - Tours Jug - Apache Maven
20081008 - Tours Jug - Apache Maven
Arnaud Héritier
 
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
Sébastien Levert
 
TDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoringTDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoring
neuros
 
Presentation langage go_19022015
Presentation langage go_19022015Presentation langage go_19022015
Presentation langage go_19022015
Stéphane Legrand
 
ALT.Net Juin 2012 - Specflow
ALT.Net Juin 2012 - SpecflowALT.Net Juin 2012 - Specflow
ALT.Net Juin 2012 - SpecflowMathias Kluba
 
Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010
Microsoft
 
C2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partieC2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partie
Loic Yon
 
20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache Maven20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache Maven
Arnaud Héritier
 
20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle
Arnaud Héritier
 
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !
vincent aniort
 

Similaire à Une boîte à outils pour les tests sous Java 8 (20)

Paris Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascriptParis Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascript
 
Paris Web 2015 - Atelier désendettement Javascript legacy
Paris Web 2015 - Atelier désendettement Javascript legacyParis Web 2015 - Atelier désendettement Javascript legacy
Paris Web 2015 - Atelier désendettement Javascript legacy
 
Tester unitairement une application java
Tester unitairement une application javaTester unitairement une application java
Tester unitairement une application java
 
Meetup Python Nantes - les tests en python
Meetup Python Nantes - les tests en pythonMeetup Python Nantes - les tests en python
Meetup Python Nantes - les tests en python
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipeline
 
testUnitaire (1).pptx
testUnitaire (1).pptxtestUnitaire (1).pptx
testUnitaire (1).pptx
 
Bbl sur les tests
Bbl sur les testsBbl sur les tests
Bbl sur les tests
 
BBL - TDD pour les DevOps - Puppet
BBL - TDD pour les DevOps - PuppetBBL - TDD pour les DevOps - Puppet
BBL - TDD pour les DevOps - Puppet
 
20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation Maven20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation Maven
 
20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven
 
20081008 - Tours Jug - Apache Maven
20081008  - Tours Jug - Apache Maven20081008  - Tours Jug - Apache Maven
20081008 - Tours Jug - Apache Maven
 
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
 
TDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoringTDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoring
 
Presentation langage go_19022015
Presentation langage go_19022015Presentation langage go_19022015
Presentation langage go_19022015
 
ALT.Net Juin 2012 - Specflow
ALT.Net Juin 2012 - SpecflowALT.Net Juin 2012 - Specflow
ALT.Net Juin 2012 - Specflow
 
Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010
 
C2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partieC2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partie
 
20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache Maven20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache Maven
 
20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle
 
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !
 

Une boîte à outils pour les tests sous Java 8

  • 1. Une boîte à outils pour les tests sous Java 8  https://github.com/aro-tech  http://thegreenbar.wordpress.com/
  • 2. Objectifs ● Simplifier le déploiement des librairies de test unitaire ● Apporter les avantages des mixins (polymorphisme, élimination d'import static) ● Ajouter des améliorations aux API's de base pour simplifier l'écriture des tests
  • 3. Le tout-en-un ● https://github.com/aro-tech/tdd-mixins-junit4 ● ● ● Contient des “mixins” pour Mockito (+ des Matcher supplémentaires), AssertJ et JUnit 4
  • 4. Sans JUnit 4 ● https://github.com/aro-tech/tdd-mixins-core ● Si on veut, par exemple, utiliser TestNG ou une version préliminaire de JUnit 5
  • 5. Extended Mockito ? ● https://github.com/aro-tech/extended-mockito ● Mixin permet de “hériter” les appels de Mockito ● Des “Matcher” supplémentaires – Match avec des fragments de texte, pour String ou toString() – Match avec Predicate (λ sans transtypage)
  • 6. Des mixins sur mesure pour AssertJ? ● Démonstration à https://github.com/aro-tech/template-example ● Auto-génération des assertion pour vos propres JavaBeans. ● Navigation fluide grace à un bricolage des outils de base d'AssertJ
  • 7. D'autres mixins pour tests ● Non-inclus dans les tdd-mixins-* pour limiter les dépendances de base. ● Code source généré disponible à: https://github.com/aro-tech/interface-it/ tree/master/examples ● Mixins pour Jsoup, AssertJGuava, AssertJ-DB ● Pour d'autres, utilisez https://github.com/aro-tech/interface-it pour générer les mixins.
  • 8. Futur ● Les projets extended-mockito et tdd-mixins-* vont suivre les montées de version de Mockito (actuellement 2.0.52-beta) et AssertJ (actuellement 3.4.1) grace à interface-it et ant (qui permettent l'auto-génération des mixins, la mise à jour des pom et README, etc.). ● tdd-mixins-junit5 ?