À ma connaissance, vous ne pouvez pas vous moquer des constructeurs avec mockito, uniquement des méthodes. Mais selon le wiki sur la page de code Google de Mockito, il existe un moyen de se moquer du comportement du constructeur en créant une méthode dans votre classe qui retourne une nouvelle instance de cette classe. alors vous pouvez simuler cette méthode. Ci-dessous un extrait directement du wiki Mockito :
Modèle 1 - utilisation de méthodes sur une ligne pour la création d'objets
Pour utiliser le modèle 1 (tester une classe appelée MyClass), vous remplacez un appel comme
Foo foo = new Foo( a, b, c );
avec
Foo foo = makeFoo( a, b, c );
et écrivez une méthode en une ligne
Foo makeFoo( A a, B b, C c ) {
return new Foo( a, b, c );
}
Il est important que vous n'incluiez aucune logique dans la méthode; juste la seule ligne qui crée l'objet. La raison en est que la méthode elle-même ne sera jamais testée unitaire.
Lorsque vous viendrez tester la classe, l'objet que vous testez sera en fait un espion Mockito, avec cette méthode remplacée, pour renvoyer un simulacre. Ce que vous testez n'est donc pas la classe elle-même, mais une version très légèrement modifiée de celle-ci.
Votre classe de test peut contenir des membres tels que
@Mock private Foo mockFoo;
private MyClass toTest = spy(new MyClass());
Enfin, dans votre méthode de test, vous simulez l'appel à makeFoo avec une ligne comme
doReturn( mockFoo )
.when( toTest )
.makeFoo( any( A.class ), any( B.class ), any( C.class ));
Vous pouvez utiliser des correspondances plus spécifiques que any () si vous souhaitez vérifier les arguments qui sont passés au constructeur.
Si vous souhaitez simplement renvoyer un objet fictif de votre classe, je pense que cela devrait fonctionner pour vous. Dans tous les cas, vous pouvez en savoir plus sur la création d'objets moqueurs ici:
http://code.google.com/p/mockito/wiki/MockingObjectCreation