JUnit Rule pour CDI / Weld
• Alexis Hassler
Arquillian est l’outil poussé en avant par les équipes de JBoss pour le tests des composants JavaEE. Je trouve que pour certains tests CDI, cet outil ressemble à de la grosse artillerie et qu’on peut se débrouiller avantageusement sans elle.
Les techniques de Rule de JUnit permettent de faire les initialisations nécessaires avec WeldSE, à condition peut-être d’avoir les bons Scopes.
public class WeldSeRule extends ExternalResource {
private Weld weld;
private WeldContainer container;
@Override
protected void before() throws Throwable {
weld = new Weld();
container = weld.initialize();
}
@Override
protected void after() {
weld.shutdown();
}
public <T> T getBean(Class<T> testedClass) {
return container.instance().select(testedClass).get();
}
}
Une fois cette Rule créée, on doit la déclarer dans chaque classe de test et appeler la méthode getBean() dans une méthode @Before.
public class TotoServiceTest2 {
@Rule
public WeldSeRule weld = new WeldSeRule();
TotoService service;
@Before
public void init() {
service = weld.getBean(TotoService.class);
}
...
}
Il ne reste plus qu’à attendre que la technique des Rule soit portée au niveau classe, pour faire un peu moins d’initialisation.
J’ai publié une synthèse des techniques de tests CDI sur JTips.
Alexis Hassler
J'ai créé la société Sewatech en 2005, pour y exercer mon métier de développeur full stack, à dominante back end.
Vous pouvez me contacter si vous cherchez un développeur indépendant expérimenté (plus de 25 ans d'expérience) pour intégrer votre équipe de projet. Je peux aussi intervenir pour un audit ou une mission de conseil.
Enfin, je donne des formations sur Spring, Vert.x, WildFly,... en intra sur site ou à distance.
Archives
-
- Authentification Digest et chiffrement des mots de passe, avec Tomcat Realm
- Adieu boot2docker, bonjour docker-machine
- Authentification Digest et chiffrement des mots de passe, avec Spring Security
- Découverte de CompletableFuture
- Comment ouvrir les ports JMX remote à chaud
- Intégration continue avec Travis CI et Docker Hub
- Putain, 10 ans !
- Charlie Hebdo
- Bilan 2014 du blog
-
- Comment installer OpenVPN sur Google Cloud
- Comment chiffrer les mots de passe de Tomcat
- Démarrer RESTEasy en mode standalone
- Réduire la taille des images Docker
- Construire une image Docker pour WildFly
- Construire une image Docker pour Apache / mod_cluster
- Compiler mod_cluster pour Apache 2.4 : pourquoi et comment ?
- Mon interview sur ma formation WildFly, par Arun Gupta
- Installer un cluster WildFly avec Docker
- WildFly 8, administration guide : le livre
- Devoxx France 2014 : BOFs et à-cotés
- Devoxx France 2014 : Conférences
- Devoxx France 2014 : Keynotes
- Devoxx France 2014 : Universités et Ateliers
- Pub WinDev : mon mail de réponse
-
- Attention aux parenthèses dans Logback
- Accéder à la console de JBoss AS 7 via Apache Web Server
- JBoss EAP 6 et les bonnes nouvelles
- Construire soi-même JBoss AS 7 (ou WildFly)
- Développeurs JSF, fuyez @ManagedBean
- Tester des beans en scope Conversation avec Arquillian
- Accéder aux composants remote de JBossAS 7
- Présentation Arquillian
-
- Déployer une application JavaEE via l'API Cloudbees
- Les sorties de l'été 2011
- Versions mineures de JBoss AS
- Injection de logger avec Spring
- Injection de logger avec CDI
- Découverte de Cloudbees
- Mots de passe chiffrés pour les datasources de JBoss
- JUnit Runner pour CDI / Weld
- JUnit Rule pour CDI / Weld
- Carte des JUGs en France
-
- DAO ou pas DAO ?
- Devoxx Schedule dans Google Calendar
- Environnement de développement Java EE 6
- Tutoriel JSF, Spring et Hibernate
- VirtualBox 64bits sous MacOS X
- Premiers pas avec Git et GitHub
- Déploiement de Silverpeas sur JOnAS
- SLF4J et JCL sous Jonas 5
- Tests unitaires pour Google App Engine
- JRebel avec OpenJDK et Grizzly
- Silverpeas sur JBoss 5
- Script de création de machine virutelle VirtualBox
- Installation de Silverpeas
- Persistance dans Google App Engine : JDO, JPA ou ... ?
- Environnement de développement pour GAE
- Mon projet GAE
- Démarrage du blog