Mon code:ressort 3 autowiring et les tests JUnit
@Component
public class A {
@Autowired
private B b;
public void method() {}
}
public interface X {...}
@Component
public class B implements X {
...
}
Je veux tester en classe d'isolement A. Est-ce que je dois à la classe B maquette? Si oui, comment? Parce qu'il est autowired et il n'y a pas setter où je pourrais envoyer l'objet mocké.
+1 pour se moquer de getMeaningOfLife() à 42 :-). – Dave
Avec la nouvelle version de Mockito, j'utiliserais l'annotation '@ InjectMocks' sur la déclaration de' A' et me débarrasserais de la réflexion 'setField (..)' – Snekse
Mais a est un bean, c'est-à-dire un proxy (créé avec AOP). Cela ne réussira pas. J'ai essayé quelque chose de similaire et l'erreur était que le champ b ne pouvait pas être trouvé sur A (parce que c'est un proxy). –