Mot-clé - jmockit

Fil des billets - Fil des commentaires

Session : comment écrire du code testable

 J'ai eu le plaisir d'animer la session "Comment écrire du code testable" à la conférence Agile France 2010. C'est l'heure de mettre les slides à disposition et de faire une rétrospective !

Connaître les symptômes d'un code intestable vous permettra de mieux vous en débarrasser :
  1. Un constructeur cher
  2. Des instanciations directes
  3. Des blocs statiques
  4. Une dynastie de classes
  5. Des états globaux
  6. Annuaire de service
  7. Interroger des collaborateurs
  8. Des classes hyperactives
  9. Des méthodes trop chargées
  10. Mélanger les objets valeurs et les objets services

Lire la suite

Tutoriel JMockit

Un petit post pour signaler que l'article "Comment tester du code intestable avec JMockit" est en ligne sur Developpez. A la base, ce blog a été crée comme "brouillon" pour écrire des tutoriaux, en particulier sur JMockit. Entre temps, le framework a pas mal évolué. L'article de  […]

Lire la suite

JMockit devient beaucoup moins contraignant

Je suis en train d'écrire l'article JMockit pour developpez, en testant avec la version 0.993 et je vais de surprise en surprise. En plus d'avoir développé d'autres API (JMockit Verifications pour le BDD), d'avoir mavenisé le projet, sans parler des efforts sur la documentation, Rogerio Liesenfeld  […]

Lire la suite

JMockit : comment migrer vers la version 0.97 ou plus

Petit essai express En suivant la documentation officielle de migration, voici ce qu'il en ressort. Concernant le paramètre javaagent qui ne serait plus nécessaire, ce n'est pas si évident... Que ce soit avec Java 5, 6 avec ou sans la nouvelle annotation @RunWith(JMockit.class), mes tests semblent  […]

Lire la suite

JMockit Core | Expectations : creer une implémentation vide d'une interface?

Il y a les objets que l'on souhaite mocker parce que l'on en attend des choses (que telle méthode soit appelée, avec tel paramètre) et les objets que l'on souhaite simplement bouchonner betement, pour affranchir notre test unitaire des dépendances de l'objet testé.

Les expectations de JMockit rempliront le premier besoin. La méthode newEmptyProxy de JMockit comblera des besoins plus simples, comme celui d'avoir une implémentation vide d'une interface.

Lire la suite

JMockit Expectation : comment mocker une méthode ?

JMockit Annotation et JMockit Core impose la définition d'une classe de mock supplémentaire. JMockit Expectation permet d'effectuer des expectations sans redéfinir de classes de mock, même s'il a d'autres limitations (l'impossibilité de mocker un constructeur par exemple, ou une methode de classe abstraite).


Documentation officielle : https://jmockit.dev.java.net/javadoc/mockit/Expectations.html

Lire la suite

JMockit Annotation | Core : comment mocker un initialiseur static?

Les blocs statiques peuvent devenir un véritable cauchemar lorsque nous essayons d'introduire des tests sur du code existant. Le bloc étant statique, nous avons beau mocker, il est tout de même appelé. Avec JMockit, il devient possible de mocker aussi ces blocs là !

Lire la suite

JMockit Annotation : comment mocker une méthode de la classe qui est testée?

Nous testons la méthode doSport() de HumanBeing. Nous voulons que cette dernière appelle la méthode dress();

public class HumanBeing extends AbstractLivingBeing {
	protected void doSport(){
	}
	
	protected void dress(){
	}
}

Autrement dit, nous avons besoin de solliciter la véritable méthode doSport() mais de mocker dress().

Lire la suite

JMockit : Installation et usage

Première étape : télécharger le jar sur le site de JMOCKIT : https://jmockit.dev.java.net/

  • Avec Maven

Le repository maven http://mvnrepository.com n'hebergeant pas JMockit, il faut le déployer manuellement sur son repo et créer un pom.xml tout seul comme un grand. Pas de panique, d'autres gens l'ont fait pour nous: http://stufftohelpyouout.blogspot.com/2008/10/maven-2-java-attach-api-and-jmockit.html

Lire la suite

Tutorial JMockit (pour les versions inférieures ou égales à 0.96)

JMockit utilise l'instrumentation pour pouvoir mocker des classes, des méthodes statiques, des blocs statiques, des méthodes privées... mais alors on peut TOUT mocker avec jmockit ?! Ah non, pas tout : jusque la version 0.97, les classes java du JRE comme Collections ne le sont pas facilement par exemple (c'est normalement possible mais je n'ai pas réussi jusqu'ici).

Les personnes qui ne sont pas familières avec les tests unitaires peuvent se mettre à niveau.

Le site officiel de JMockit comporte relativement peu de documentation, c'est sur la javadoc qu'il faut s'appuyer pour tout renseignement.

ATTENTION Tous les tutoriaux de ce site n'ont été testés qu'avec une version inférieure ou égale à 0.96. De fait, ils ne fonctionnent peut être (probablement?) pas avec une version supérieure

Lire la suite

Haut de page