[JAVA] Mock et espionner PowerMock

table des matières

  1. Procédure de création d'un environnement pour l'utilisation de PowerMock
  2. Mock et espionner dans PowerMock ← Maintenant ici
  3. Méthodes statiques simulées avec PowerMock
  4. Simulez le constructeur avec PowerMock
  5. Méthodes privées simulées avec PowerMock
  6. Essayez d'utiliser la WhiteBox de PowerMock
  7. Désactiver l'initialiseur statique dans PowerMock

Aperçu

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.
}

Railleur

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);

Espion

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

Mock et espionner PowerMock
Mock Enum avec PowerMock
Méthodes statiques simulées avec PowerMock
Maquette et stub dans RSpec
Mock le constructeur avec PowerMock
Activer Openjdk10 et maven sur CentOS
Installez JDK et JRE sur Ubuntu 16.10
Installer et configurer jenv sur macOS
Utilisation correcte de Mockito et PowerMock
Activer les SDK Java 8 et Java 11 sur Ubuntu
Remarques sur le chemin et le package Java
Installez Java 9 sur Windows 10 et CentOS 7