comment fantaisie partielle méthode publique à l'aide de PowerMock?
Qui suit est ma classe
public class SomeClass {
public ReturnType1 testThisMethod(Type1 param1, Type2 param2) {
//some code
helperMethodPublic(param1,param2);
//more code follows
}
public ReturnType2 helperMethodPublic(Type1 param1, Type2 param2) {
//some code
}
}
Donc dans la classe ci-dessus, tandis que d'essais testThisMethod(), je veux partiellement fictif helperMethodPublic().
Pour l'instant, je suis en train de faire les suivants:
SomeClass someClassMock =
PowerMock.createPartialMock(SomeClass.class,"helperMethodPublic");
PowerMock.expectPrivate(someClassMock, "helperMethodPublic, param1, param2).
andReturn(returnObject);
Le compilateur n'a pas à se plaindre. J'ai donc essayer de faire fonctionner mon test et lorsque le code frappe le helperMethodPublic() la méthode, le contrôle va dans la méthode et commence à exécuter chaque ligne de code. Comment puis-je éviter cela?
OriginalL'auteur maverick | 2012-05-25
Vous devez vous connecter pour publier un commentaire.
Une autre solution qui ne repose pas sur une maquette cadre serait de remplacer 'helperMethodPublic' anonyme sous-classe définie au sein de votre test:
Puis lorsque vous utilisez cette instance dans votre test, il sera exécuté à la version originale de "testThisMethod" et la version de remplacement de "helperMethodPublic'
Merci pour cela, il est une solution parfaite à un problème similaire que j'ai eu. Je n'aurais jamais croyais à ce brillant techniique!
OriginalL'auteur pedorro
Je pense que c'est à cause de ce que Jeff a dit.
Essayer ce - que l'établissement d'une attente comme tout les autres se moquaient de méthode:
OriginalL'auteur psb
Je suppose que c'est parce que votre "helperMethodPublic" n'est pas une méthode privée (comme dans PowerMock.expectPrivate). PowerMock est un cadre qui s'étend d'autres se moquant de cadres d'ajouter des choses comme factices privé et méthodes statiques (qui JMock, Mockito, etc ne pas gérer). Faire une fantaisie partielle des méthodes publiques devrait être quelque chose de sous-jacent se moquer cadre de poignées.
OriginalL'auteur jeff