Tutoriel jMock pour les débutants

Tutoriel jmock pour les débutants
Table des matières

Tutoriel jMock pour les débutants avec projet de test

Qu'est-ce que jMock ?

jMock est une bibliothèque qui aide à créer un développement piloté par les tests du code Java avec des objets fictifs. jMock Nous pouvons tester indépendamment une classe qui dépend d'une autre classe.

Supposons qu'une classe dépende d'une autre classe, nous pouvons créer un simulacre de la classe dépendante et définir les propriétés initiales pour tester la classe dépendante.

Tutoriel Imock

Exemple de tutoriel jMock:

Note : Nous utilisons la plateforme Eclipse pour ce projet de test. Vous pouvez télécharger Eclipse à partir de ici.

Assurez-vous que Environnement d'exécution Java SE est déjà installé pour que le programme d'installation d'Eclipse puisse démarrer l'installation.

Créez un projet de test en Java nommé Projet de test et incluez les bocaux suivants dans son chemin de classe :

Tutoriel JmockÉpingle

  • jmock-2.5.1.jar
  • hamcrest-core-1.1.jar
  • hamcrest-library-1.1.jar
  • JUnit-4.5.jar

Tutoriel Jmock pour les débutantsÉpingle

Créez une interface nommée ITestInterface et insérez le code suivant dans cette interface :

le test de l'emballage ;

public interface ITestInterface

{

public int test() ;

}

Qu'est-ce que Jmock ?Épingle

Créez TestClass1 et insérez le code suivant dans cette classe

le test de l'emballage ;

public class TestClass1 implements ITestInterface

{

public int test()

{

retour 3 ;

}

}

Exemple de JmockÉpingle

Créez TestClass2 et insérez le code suivant dans cette classe





le test de l'emballage ;

public class TestClass2

{

ITestInterface testInterface ;

public TestClass2()

{

this.testInterface=testInterface ;

}

public int testMock()

{

int result=testInterface.test() ;

retourner le résultat ;

}

}

Tutoriel Jmock PdfÉpingle

Créez TestClass3 et insérez le code suivant dans cette classe

le test de l'emballage ;

import junit.framework.Assert ;

import org.jmock.Mockery ;

import org.junit.Test ;

public class TestClass3

{

@Test

public void testJmock()

{

org.jmock.Mockery TestInterfaceMock= new Mockery() ;

final ITestInterface testInterface=TestInterfaceMock.mock(ITestInterface.class) ;

TestInterfaceMock.checking(new org.jmock.Expectations()

{{

oneOf(testInterface).test() ;

will(returnValue((3))) ;

}});

int j=testInterface.test() ;

System.out.println(j) ;

Assert.assertEquals(j, 3) ;

}

}

Jmock pour les débutantsÉpingle

L'exemple ci-dessus montre clairement que TestClass1 met en œuvre l'interface ITestInterface. Ici, si nous observons que TestClass2 dépend de TestClass1, nous ne faisons pas de nouveau de TestClass1 dans TestClass2, mais nous utilisons un objet fantaisie pour le rendre testable à l'unité.

Dans TestClass3, nous créons l'objet fantaisie de ITestInterface. Nous attendons de cet objet qu'il renvoie 3 lorsqu'il est appelé pendant le test unitaire de TestClass2. Par exemple, dans TestClass3, lorsque nous appelons testInterface.test(), l'appel va à TestClass2. Dans TestClass2, lorsque nous appelons testInterface.test(), la valeur est renvoyée par l'objet fantaisie. De cette manière, nous testons TestClass2 de manière indépendante.

Pour tester l'exemple ci-dessus, faites un clic droit sur TestClass3 et sélectionnez Run as Junit Test.


Test JunitÉpingle
Test Junit

L'écran suivant s'affiche :

Exécution du test JunitÉpingle

Le cas de test a été exécuté avec succès !

Image de Anson Antony
Anson Antoine
Anson est un auteur collaborateur et le fondateur de www.askeygeek.com. Sa passion pour l'apprentissage de nouvelles choses l'a conduit à créer askeygeek.com, qui se concentre sur la technologie et les affaires. Avec plus d'une décennie d'expérience dans l'externalisation des processus d'entreprise, la finance et la comptabilité, les technologies de l'information, l'excellence opérationnelle et l'intelligence économique, Anson a travaillé pour des entreprises telles que Genpact, Hewlett Packard, M*Modal et Capgemini, où il a occupé différents postes. En dehors de ses activités professionnelles, il est un cinéphile qui aime passer des heures à regarder et à étudier le cinéma, et il est également cinéaste.

5 réponses

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Toutes nos félicitations!
Tu l'as fait,
Ne fermez pas !

Accès UberCreate Creator Pro
gratuitement!!!

Cette fenêtre contextuelle ne montrera pas à toi de voir encore!!!

Partager avec...