Afin de définir un comportement arbitraire avec la méthode statique et la méthode privée dans PowerMock, il est d'abord nécessaire de simuler / d'espionner la classe cible.
Ici, on suppose que la classe Utility est moquée / espion.
Utility.java
public class Utility {
//Le contenu est omis. tout va bien.
}
La moquerie dans PowerMock, comme Mockito, est utilisée pour définir arbitrairement le comportement d'une méthode à la convenance des tests unitaires. Vous pouvez également enregistrer et vérifier le nombre d'appels.
Immédiatement après la simulation, l'objet fictif est dans un état où le comportement de la méthode n'est pas défini, utilisez-le en définissant une valeur de retour ou une exception avec doReturn ou doThrow. (* Les méthodes qui ne définissent pas le comportement renvoient null comme valeur de retour.)
Pour simuler, passez la classe de la classe que vous souhaitez simuler à l'argument de PowerMockito.mock.
Utility mock = PowerMockito.mock(Utility.class);
Contrairement à la moquerie, l'espionnage est utilisé lorsque vous souhaitez définir un comportement arbitraire pour certaines méthodes.
Immédiatement après l'espionnage, la classe Utility se comporte de la même manière qu'une instance de la classe Utility standard. (L'enregistrement et la vérification du nombre d'appels sont possibles.)
En d'autres termes, cela fonctionne de la même manière qu'une méthode normale, sauf pour les méthodes qui définissent des comportements arbitraires et des exceptions avec doReturn, doThrow, etc.
Pour espionner, passez l'instance de la classe que vous voulez moquer dans l'argument de PowerMockito.spy.
Utility spy = PowerMockito.spy(new Utility());
Recommended Posts