Comment se moquer de super méthode de la classe à l'aide de Mockito ou n'importe quelle autre relavent framework java
Mon Scénario est comme ci-dessous
class SuperClass{
public void run(){
System.out.println("I am running in Super class");
}
}
class ChildClass extends SuperClass{
public void childRunner(){
System.out.println("Step 1");
System.out.println("Step 2");
**run();**
System.out.println("Last Step");
}
}
Maintenant, je veux me moquer de la childRunner()
méthode de ChildClass
et puisque cette méthode appelle en interne la super-classe de la méthode, j'ai besoin d'aide/morceau de code sur la façon de se moquer de l' run()
méthode qui est présent dans la childRunner()
méthode de ChildClass
.
OriginalL'auteur Ravi Kiran Y | 2015-05-19
Vous devez vous connecter pour publier un commentaire.
Idéalement, vous devriez "favoriser la composition au cours de l'héritage".
Si vous n'avez pas cette option, vous pouvez utiliser
doNothing
qui raconte essentiellement Mockito de ne rien faire lorsqu'une méthode à une simulation d'/spy objet est appelé. Cela a été également discuté de iciExemple de code suivant devrait aider
de sortie:
Dans le cas où vous utilisez super.run(); cela ne fonctionnera pas
OriginalL'auteur user1121883
Voici un exemple pour une classe qui étend la classe d'une autre classe et il a d'autres dépendances. Dans ce cas, je vais passer la superclasse d'appel dans l'autre méthode, puis se moquer de la super-classe de l'appelant de la méthode.
Comme vous pouvez le voir ci-dessus, la méthode d'authentification n'est un peu de logique et ensuite appeler la super-classe de la méthode, j'ai donc envie de se moquer de la superclasse appeler et de tester mon propre bloc de code. Voici ma classe de test:
OriginalL'auteur cazador