DevoxxFR 2013 - Arquillian

Preview:

DESCRIPTION

 

Citation preview

17:00 - 17:30 - Salle La Seine C

Arquillianpour des

Tests Websimples et efficaces

27 au 29 mars 2013

Arquillianpour des Tests Web simples et

efficaces

@AlexisHasslerDéveloppeur, formateur indépendant

Alexis Hassler

Développeur, formateur Java

Indépendant

Co-leader du

Tests d'intégration Java EE

Tests de composantspas les classes isolées

pas l'application complète

Comment ça marche ?

Mettre les

tests dans le conteneur

plutôt que

gérer le conteneur dans les tests

Runner JUnitDéploiement du composant

Injection de dépendances

Méthode de test

Mock

Test Web

Web

Tomcat, Jetty,...

Java EE

JBoss, Glassfish, TomEE ...

Mode client @Deployment (testable = false)

public static Archive<?> deploy() {

...

}

@ArquillianResource URL baseUrl;

@Test

public void should_http_requests_get_results() {

...

}

Déploiement SANS les tests

Injection de l'URL du déploiement

HttpUnit, Selenium,...

27 au 29 mars 2013

Démonstration

http://github.com/hasalex/arquillian-web-demo

Drone

Graphene

Warp

Drone

@Drone WebDriver browser;

@ArquillianResource URL baseUrl;

@Test

public void should_http_requests_get_results() {

browser.get(baseUrl);

...

}

Injection Selenium

Graphene

element(By.id("button"));

waitAjax().until(element(...).isVisible());

guardXhr(button).click();

Classe utilitaire

Graphene

@Page UserPageForGraphene userPage;

Page Object

Page Fragment

Warp

Vérifier l'état coté serveur–Servlet, Session,...

–Extensions JSF, REST, Spring MVC

Warp.initiate()

.observe()

.inspect();

27 au 29 mars 2013

Démonstration

http://github.com/hasalex/arquillian-web-demo

Conclusion

http://arquillian.org

L'invasion continue...

Recommended