devoxxfr 2013 - arquillian
DESCRIPTION
TRANSCRIPT
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...