Ci-dessous ma conception de code. J'ai besoin de conseils, comment écrire le cas de test pour cela.Se moquer des objets des méthodes protégées en Java
abstract class X
{
public void xyz()
{
A a = getA();
callMe(a);
}
private A getA()
{
//do some stuff
return a;
}
protected void callMe();
}
est inférieure à la classe enfant:
class Y extends X
{
@Autowired
MyClass myClass;
protected void callMe(A a)
{
B b = provideB();
C c = b.getC();
c.setValue(myClass.getSomeValue());
}
private B provideB()
{
//every child class has its own way of providing this object
return b;
}
}
Maintenant, j'écritoires de tests unitaires pour la classe de l'enfant Y, je fais appel méthode xyz pour les tests. Je sais que je dois me moquer de l'objet MyClass car c'est ma dépendance externe. Alors je me suis moqué de ça. Mais je suis confus que dois-je me moquer A et donc par la suite B et C aussi bien ou comme ils sont créés d'une manière ou d'une autre dans des méthodes protégées/privées, alors devrais-je laisser sa création se produire pendant les tests? Toute avance sera appréciée.