Bonjour à tous,
Je pose une question :
Quelle est à la bonne pratique pour faire des tests unitaires avec Spring sachant que :
- J'utilise l'aop (pour les logs par exemple)
- Je fais l'injection via spring des beans utilisés dans mes tests
- Mes classes implements des interfaces
?
Exemple :
Je fais une classe A implémentant une interface IA et un ATest sur A.
ATest utilise A (Type A déclacré et non IA pour tester toutes les méthodes) et A est injecté par Spring.
Le soucis est que vu que je fais de l'aop dans A, j'ai un proxy donc j'ai un problème d'injection (org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'a' must be of type [A], but was actually of type [$Proxy40]).
Ok, plutôt que d'utiliser jdk dynamic, je peux utiliser cglib pour mes tests, mais le soucis c'est A est parametré et cglib n'a pas l'air de le supporter (java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType)
Donc au secours, comment faire ?